@sportsdataverse/sdvtables 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +70 -112
- package/data/table_themes.json +12136 -0
- package/data/table_themes.json.sha256 +1 -0
- package/dist/aggrid.d.ts +104 -0
- package/dist/aggrid.js +230 -0
- package/dist/aggrid.js.map +1 -0
- package/dist/chunk-3TJR7TKS.js +223 -0
- package/dist/chunk-3TJR7TKS.js.map +1 -0
- package/dist/{chunk-UCRLJGDL.js → chunk-R375P3MN.js} +963 -276
- package/dist/chunk-R375P3MN.js.map +1 -0
- package/dist/chunk-UTOVFIFT.js +15176 -0
- package/dist/chunk-UTOVFIFT.js.map +1 -0
- package/dist/{chunk-U6W6MWKW.js → chunk-VLF2S6VW.js} +7 -5
- package/dist/chunk-VLF2S6VW.js.map +1 -0
- package/dist/chunk-WBTFIGYK.js +189 -0
- package/dist/chunk-WBTFIGYK.js.map +1 -0
- package/dist/{engine-CkfxYXAL.d.ts → engine-BFIPJUlC.d.ts} +1 -1
- package/dist/export.d.ts +1 -1
- package/dist/export.js +4 -3
- package/dist/export.js.map +1 -1
- package/dist/html.d.ts +8 -5
- package/dist/html.js +4 -3
- package/dist/index.d.ts +121 -8
- package/dist/index.js +51 -3
- package/dist/index.js.map +1 -1
- package/dist/mui.d.ts +134 -0
- package/dist/mui.js +193 -0
- package/dist/mui.js.map +1 -0
- package/dist/react.d.ts +2 -2
- package/dist/react.js +3 -2
- package/dist/react.js.map +1 -1
- package/dist/spec-A88vJX5A.d.ts +748 -0
- package/dist/tanstack-table.d.ts +113 -0
- package/dist/tanstack-table.js +98 -0
- package/dist/tanstack-table.js.map +1 -0
- package/dist/{tokens-CpYFsFtf.d.ts → tokens-CHwBt9gs.d.ts} +1 -1
- package/package.json +40 -3
- package/dist/chunk-4VKYHOHL.js +0 -2081
- package/dist/chunk-4VKYHOHL.js.map +0 -1
- package/dist/chunk-U6W6MWKW.js.map +0 -1
- package/dist/chunk-UCRLJGDL.js.map +0 -1
- package/dist/spec-BEhLDtj_.d.ts +0 -430
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/errors.ts","../src/define.ts","../src/predicate.ts","../src/snake.ts","../src/format.ts","../src/themes/tokens.ts","../src/themes/sdv.ts","../data/table_themes.json","../src/themes/registry.ts","../src/themes/almanac.ts","../src/themes/athletic.ts","../src/themes/booktabs.ts","../src/themes/broadsheet.ts","../src/themes/brutalist.ts","../src/themes/luminance.ts","../src/themes/drench.ts","../src/themes/fmtr.ts","../src/themes/gtutils.ts","../src/themes/kenpom.ts","../src/themes/midnight.ts","../src/themes/ncaa.ts","../src/themes/pl.ts","../src/themes/savant.ts","../src/themes/scoreboard.ts","../src/themes/sofa.ts","../src/themes/swiss.ts","../src/themes/terminal.ts","../src/themes/tier.ts","../src/themes/tufte.ts","../src/themes/index.ts","../src/engine.ts"],"names":["name","_","num","dark","hex6","v","onColor","build","resolveSync","UnresolvedTeamError","teamColorsSync","warn","mix","contrast","matches"],"mappings":"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","file":"chunk-UTOVFIFT.js","sourcesContent":["// src/errors.ts — spec §3: sdvtables adds TableSpecError to the SdvplotError hierarchy (the base sets name = new.target.name)\nimport { SdvplotError } from \"@sportsdataverse/sdvplot\";\nexport class TableSpecError extends SdvplotError {}\n","// src/define.ts — the fluent builder. Every method returns a NEW builder (immutable), build() validates once.\nimport { TableSpecError } from \"./errors.js\";\nimport type {\n ColumnBase,\n ColumnSpec,\n Decoration,\n Density,\n NumericKey,\n Predicate,\n SeriesKey,\n TableSpec,\n} from \"./spec.js\";\n\ntype Opt<T, K extends PropertyKey> = Omit<T, \"kind\" | \"key\" | K>;\ntype Base<Row, K extends keyof Row & string> = Omit<ColumnBase<Row, K>, \"key\">;\ntype Col<Row, Kind extends ColumnSpec<Row>[\"kind\"]> = Extract<ColumnSpec<Row>, { kind: Kind }>;\ntype Partialize<T, Req extends keyof T> = Partial<Omit<T, Req>> & Pick<T, Req>;\n\nexport interface ColumnFactory<Row> {\n text<K extends keyof Row & string>(key: K, o?: Base<Row, K>): Col<Row, \"text\">;\n num<K extends NumericKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"num\">, never>>,\n ): Col<Row, \"num\">;\n int<K extends NumericKey<Row>>(key: K, o?: Base<Row, K>): Col<Row, \"int\">;\n pct<K extends NumericKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"pct\">, never>>,\n ): Col<Row, \"pct\">;\n rank<K extends NumericKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"rank\">, never>>,\n ): Col<Row, \"rank\">;\n delta<K extends NumericKey<Row>>(\n from: K,\n to: NumericKey<Row>,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"delta\">, \"to\">>,\n ): Col<Row, \"delta\">;\n tally(\n keys: readonly [NumericKey<Row>, ...NumericKey<Row>[]],\n o?: Base<Row, NumericKey<Row>> & Partial<Opt<Col<Row, \"tally\">, \"keys\">>,\n ): Col<Row, \"tally\">;\n logo<K extends keyof Row & string>(\n key: K,\n o: Base<Row, K> & Partialize<Opt<Col<Row, \"logo\">, never>, \"league\">,\n ): Col<Row, \"logo\">;\n wordmark<K extends keyof Row & string>(\n key: K,\n o: Base<Row, K> & Partialize<Opt<Col<Row, \"wordmark\">, never>, \"league\">,\n ): Col<Row, \"wordmark\">;\n headshot<K extends keyof Row & string>(\n key: K,\n o: Base<Row, K> & Partialize<Opt<Col<Row, \"headshot\">, never>, \"league\">,\n ): Col<Row, \"headshot\">;\n colorPills<K extends NumericKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"colorPills\">, never>>,\n ): Col<Row, \"colorPills\">;\n colorRanks<K extends NumericKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"colorRanks\">, never>>,\n ): Col<Row, \"colorRanks\">;\n colorResults<K extends keyof Row & string>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"colorResults\">, never>>,\n ): Col<Row, \"colorResults\">;\n percentileBar<K extends NumericKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"percentileBar\">, never>>,\n ): Col<Row, \"percentileBar\">;\n indicatorBox<K extends keyof Row & string>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"indicatorBox\">, never>>,\n ): Col<Row, \"indicatorBox\">;\n /**\n * Mark the cells that match `when` (a predicate), or pass `\"min\"` / `\"max\"` / `\"both\"` to mark the column's extremes\n * (reactablefmtr `highlight_min` / `highlight_max` / `highlight_min_max`: bold, red min and green max, no fill).\n */\n highlight<K extends keyof Row & string>(\n key: K,\n when: Predicate<Row> | \"min\" | \"max\" | \"both\",\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"highlight\">, \"when\" | \"extreme\">>,\n ): Col<Row, \"highlight\">;\n highlightNa<K extends keyof Row & string>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"highlightNa\">, never>>,\n ): Col<Row, \"highlightNa\">;\n mergeStackTeamColor<K extends keyof Row & string>(\n key: K,\n stack: keyof Row & string,\n team: keyof Row & string,\n o: Base<Row, K> & Partialize<Opt<Col<Row, \"mergeStackTeamColor\">, \"stack\" | \"team\">, \"league\">,\n ): Col<Row, \"mergeStackTeamColor\">;\n teamColorBar<K extends keyof Row & string>(\n key: K,\n o: Base<Row, K> & Partialize<Opt<Col<Row, \"teamColorBar\">, never>, \"league\">,\n ): Col<Row, \"teamColorBar\">;\n teamColorBg<K extends keyof Row & string>(\n key: K,\n o: Base<Row, K> & Partialize<Opt<Col<Row, \"teamColorBg\">, never>, \"league\">,\n ): Col<Row, \"teamColorBg\">;\n image<K extends keyof Row & string>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"image\">, never>>,\n ): Col<Row, \"image\">;\n /** reactablefmtr `data_bars` (defaults: fill `#15607A`, track `#EEEEEE`, text inside the bar's end, 18px bars). */\n dataBar<K extends NumericKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"dataBar\">, never>>,\n ): Col<Row, \"dataBar\">;\n /** reactablefmtr `icon_sets` (defaults: one circle, colours `#15607A` / `#B0B0B0` / `#FA8C00`, icon right, 16px). */\n iconSet<K extends NumericKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"iconSet\">, never>>,\n ): Col<Row, \"iconSet\">;\n /** reactablefmtr `icon_assign` (defaults: circles, fill `#15607A`, empty `#EEEEEE`, 16px, no value shown). */\n iconAssign<K extends NumericKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"iconAssign\">, never>>,\n ): Col<Row, \"iconAssign\">;\n /** reactablefmtr `merge_column`: `key` (14px bold) with `stack` (12px `#777`) to its right by default. */\n mergeStack<K extends keyof Row & string>(\n key: K,\n stack: keyof Row & string,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"mergeStack\">, \"stack\">>,\n ): Col<Row, \"mergeStack\">;\n /** reactablefmtr `bubble_grid` (defaults: circles, colours `#15607A` / `#FFFFFF` / `#FA8C00`, 100px at the max). */\n bubble<K extends NumericKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"bubble\">, never>>,\n ): Col<Row, \"bubble\">;\n /**\n * reactablefmtr `react_sparkline` on an array column (defaults: `slategray`, 1.5px line, `chartWidth` 100 x 22px (taller with labels), not sortable;\n * `statline` / `bandline` red, labels 0.8em with 0 decimals).\n */\n sparkline<K extends SeriesKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"sparkline\">, never>>,\n ): Col<Row, \"sparkline\">;\n /** reactablefmtr `react_sparkbar` on an array column (defaults: `slategray` bars, 100 x 22px, not sortable). */\n sparkbar<K extends SeriesKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"sparkbar\">, never>>,\n ): Col<Row, \"sparkbar\">;\n /** reactablefmtr `gauge_chart` (defaults: fill `#15607A`, track `#EEEEEE`, size 1 = 50px wide, scale 0 to max |value|). */\n gauge<K extends NumericKey<Row>>(\n key: K,\n o?: Base<Row, K> & Partial<Opt<Col<Row, \"gauge\">, never>>,\n ): Col<Row, \"gauge\">;\n /** gtUtils aliases — same objects, old names (see src/aliases.ts). */\n fmtRank: ColumnFactory<Row>[\"rank\"];\n fmtTally: ColumnFactory<Row>[\"tally\"];\n}\n\nconst SERIES_DEFAULTS = {\n statlineColor: \"red\",\n statlineLabelSize: \"0.8em\",\n bandlineColor: \"red\",\n bandlineOpacity: 0.2,\n labels: [],\n labelSize: \"0.8em\",\n decimals: 0,\n chartWidth: 100,\n} as const;\nconst SERIES_POINTS: readonly string[] = [\"first\", \"last\", \"min\", \"max\", \"all\"];\n/** build()'s (and the renderer's) checks of a sparkline, sparkbar or gauge column: each error names the column and the option. Internal. */\nexport function checkChart<Row>(col: ColumnSpec<Row>): void {\n if (col.kind !== \"sparkline\" && col.kind !== \"sparkbar\" && col.kind !== \"gauge\") return;\n const fail = (m: string): never => {\n throw new TableSpecError(`column \"${col.key}\": ${col.kind} ${m}`);\n };\n const positive = (name: string, v: unknown): void => {\n if (!(typeof v === \"number\" && Number.isFinite(v) && v > 0))\n fail(`${name} must be a positive finite number, got ${String(v)}`);\n };\n const unit = (name: string, v: unknown): void => {\n if (!(typeof v === \"number\" && v >= 0 && v <= 1))\n fail(`${name} must be between 0 and 1, got ${String(v)}`);\n };\n const oneOf = (name: string, v: unknown, ok: readonly string[]): void => {\n if (v !== undefined && !ok.includes(v as string))\n fail(`${name} must be one of ${ok.join(\", \")}, got ${JSON.stringify(v)}`);\n };\n for (const [name, v] of [\n [\"minValue\", col.minValue],\n [\"maxValue\", col.maxValue],\n ] as const)\n if (v !== undefined && !(typeof v === \"number\" && Number.isFinite(v)))\n fail(`${name} must be a finite number, got ${String(v)}`);\n if (col.minValue !== undefined && col.maxValue !== undefined && col.minValue >= col.maxValue)\n fail(`minValue must be below maxValue, got ${col.minValue} and ${col.maxValue}`);\n if (col.kind === \"gauge\") {\n // the gauge measures |v|, so a negative bottom would give 5 and -5 one fill\n if (col.minValue !== undefined && col.minValue < 0)\n fail(`minValue must be at least 0 (the gauge fills by the absolute value), got ${col.minValue}`);\n positive(\"size\", col.size);\n positive(\"bias\", col.bias);\n unit(\"opacity\", col.opacity);\n if (col.fill.length === 0) fail(\"fill needs at least one colour\");\n return;\n }\n if (col.chartHeight !== undefined) positive(\"chartHeight\", col.chartHeight);\n positive(\"chartWidth\", col.chartWidth);\n unit(\"bandlineOpacity\", col.bandlineOpacity);\n if (!(Number.isInteger(col.decimals) && col.decimals >= 0 && col.decimals <= 20))\n fail(`decimals must be a whole number from 0 to 20, got ${String(col.decimals)}`);\n oneOf(\"statline\", col.statline, [\"mean\", \"median\", \"min\", \"max\"]);\n oneOf(\"bandline\", col.bandline, [\"innerquartiles\", \"range\"]);\n for (const n of col.labels) oneOf(\"labels\", n, SERIES_POINTS);\n const marks = col.kind === \"sparkline\" ? col.highlightPoints : col.highlightBars;\n const name = col.kind === \"sparkline\" ? \"highlightPoints\" : \"highlightBars\";\n for (const n of marks === undefined ? [] : Array.isArray(marks) ? marks : Object.keys(marks))\n oneOf(name, n, SERIES_POINTS);\n if (col.kind === \"sparkline\") {\n positive(\"lineWidth\", col.lineWidth);\n positive(\"pointSize\", col.pointSize);\n unit(\"areaOpacity\", col.areaOpacity);\n } else unit(\"fillOpacity\", col.fillOpacity);\n}\n\n/** gtUtils/sdvplot `_RANK_PALETTE` (green → red), shared by colorRanks, the legend fallback and tiers. */\nexport const RANK_PALETTE: readonly string[] = [\"#3D8B6E\", \"#9DC5A7\", \"#EDE0CC\", \"#DB9070\", \"#BE4D3A\"];\n\n// Defaults are the sdvplotR / sdvplot defaults, verbatim (PARITY_TABLES.md; file:line beside each that was corrected); listed once, here.\n// Typed against ColumnFactory (no cast), so every arrow is contextually typed and the defaults are checked against the kind.\nexport function columnFactory<Row>(): ColumnFactory<Row> {\n const f: Omit<ColumnFactory<Row>, \"fmtRank\" | \"fmtTally\"> = {\n text: (key, o = {}) => ({ kind: \"text\", key, ...o }),\n num: (key, o = {}) => ({ kind: \"num\", key, ...o }),\n int: (key, o = {}) => ({ kind: \"int\", key, ...o }),\n pct: (key, o = {}) => ({ kind: \"pct\", key, digits: 1, scale: true, ...o }),\n rank: (key, o = {}) => ({ kind: \"rank\", key, superscript: true, suffixSize: \"0.7em\", ...o }),\n delta: (from, to, o = {}) => ({\n kind: \"delta\",\n key: from,\n to,\n label: \"Change\",\n percent: false,\n decimals: 1,\n arrows: false,\n color: true,\n colorPositive: \"#1B7837\",\n colorNegative: \"#B2182B\",\n forceSign: true,\n ...o,\n }),\n tally: (keys, o = {}) => ({\n kind: \"tally\",\n key: keys[0],\n keys,\n separator: \"-\",\n share: false,\n shareOf: 0,\n shareDecimals: 1,\n shareLabel: \"%\",\n sharePrefix: \" (\",\n shareSuffix: \")\",\n ...o,\n }),\n logo: (key, o) => ({ kind: \"logo\", key, height: 30, includeName: false, ...o }),\n wordmark: (key, o) => ({ kind: \"wordmark\", key, height: 30, ...o }),\n headshot: (key, o) => ({ kind: \"headshot\", key, idSystem: \"espn\", height: 30, ...o }),\n colorPills: (key, o = {}) => ({\n kind: \"colorPills\",\n key,\n palette: [\"#C84630\", \"#5DA271\"],\n fillType: \"continuous\",\n rankOrder: \"desc\",\n formatType: \"number\",\n scalePercent: true,\n suffix: \"\",\n reverse: false,\n outlineWidth: 0.25,\n pillHeight: 25,\n ...o,\n }),\n colorRanks: (key, o = {}) => ({ kind: \"colorRanks\", key, palette: RANK_PALETTE, reverse: false, ...o }),\n // gt_color_results fills the whole row (_cells.py:155-222); spec §6.1 lists it among the c.* kinds\n colorResults: (key, o = {}) => ({\n kind: \"colorResults\",\n key,\n winColor: \"#5DA271\",\n lossColor: \"#C84630\",\n winTextColor: \"white\",\n lossTextColor: \"white\",\n tieTextColor: \"white\",\n tieValue: \"T\",\n resultType: \"wl\",\n ...o,\n }),\n // width: the <th> width, Python gt_percentile_bar width=220 px (_layout.py:662-684)\n percentileBar: (key, o = {}) => ({\n kind: \"percentileBar\",\n key,\n domain: [0, 100],\n scale: \"auto\",\n palette: [\"#3661AD\", \"#C9C9C9\", \"#D22D49\"],\n reverse: false,\n trackColor: \"#E9E9E9\",\n trackHeight: 6,\n markerSize: 22,\n textColor: \"#FFFFFF\",\n ringWidth: 2,\n fullTrack: true,\n naLabel: \"—\",\n naTextColor: \"#9A9A9A\",\n decimals: 0,\n width: \"220px\",\n ...o,\n }),\n // gt_indicator_boxes: color_yes #FCCF10, color_no #EEEEEE, 20x20 box, yes = value 1 (_cells.py:1337-1347, :1414-1416)\n indicatorBox: (key, o = {}) => ({\n kind: \"indicatorBox\",\n key,\n truthy: [1, true, \"1\"],\n fill: \"#FCCF10\",\n neutral: \"#EEEEEE\",\n size: 20,\n ...o,\n }),\n // extremes: reactablefmtr highlight_min/max (font_color red/green, bold, highlighter NULL); predicate: the gt default\n highlight: (key, when, o = {}) =>\n typeof when === \"string\"\n ? { kind: \"highlight\", key, extreme: when, bold: true, ...o }\n : { kind: \"highlight\", key, when, fill: \"#FFF3B0\", bold: false, ...o },\n highlightNa: (key, o = {}) => ({\n kind: \"highlightNa\",\n key,\n fill: \"#F0F0F0\",\n bold: false,\n italic: false,\n naStrings: [\"NA\"],\n ignoreCase: false,\n ...o,\n }),\n mergeStackTeamColor: (key, stack, team, o) => ({\n kind: \"mergeStackTeamColor\",\n key,\n stack,\n team,\n fontSizeTop: 14,\n fontSizeBottom: 12,\n color: \"black\",\n ...o,\n }),\n teamColorBar: (key, o) => ({\n kind: \"teamColorBar\",\n key,\n which: \"primary\",\n naColor: \"#b3b3b3\",\n barWidth: 4,\n ...o,\n }),\n teamColorBg: (key, o) => ({\n kind: \"teamColorBg\",\n key,\n which: \"primary\",\n alpha: 0.4,\n naColor: \"#b3b3b3\",\n ...o,\n }),\n image: (key, o = {}) => ({ kind: \"image\", key, height: \"55px\", ...o }),\n // reactablefmtr 2.1.0 defaults, read from the installed package's source (data_bars, icon_sets, icon_assign,\n // merge_column, bubble_grid formals)\n dataBar: (key, o = {}) => ({\n kind: \"dataBar\",\n key,\n fill: [\"#15607A\"],\n background: \"#EEEEEE\",\n bias: 1,\n textPosition: \"inside-end\",\n roundEdges: false,\n gradient: false,\n ...o,\n }),\n iconSet: (key, o = {}) => ({\n kind: \"iconSet\",\n key,\n icons: [\"circle\"],\n colors: [\"#15607A\", \"#B0B0B0\", \"#FA8C00\"],\n opacity: 1,\n iconPosition: \"right\",\n iconSize: 16,\n ...o,\n }),\n iconAssign: (key, o = {}) => ({\n kind: \"iconAssign\",\n key,\n icon: \"circle\",\n fill: \"#15607A\",\n empty: \"#EEEEEE\",\n fillOpacity: 1,\n emptyOpacity: 1,\n iconSize: 16,\n seqBy: 1,\n showValues: \"none\",\n ...o,\n }),\n mergeStack: (key, stack, o = {}) => ({\n kind: \"mergeStack\",\n key,\n stack,\n position: \"right\",\n size: 14,\n weight: \"bold\",\n style: \"normal\",\n stackSize: 12,\n stackColor: \"#777\",\n stackWeight: \"normal\",\n stackStyle: \"normal\",\n spacing: 0,\n ...o,\n }),\n bubble: (key, o = {}) => ({\n kind: \"bubble\",\n key,\n shape: \"circles\",\n colors: [\"#15607A\", \"#FFFFFF\", \"#FA8C00\"],\n bias: 1,\n opacity: 1,\n maxSize: 100,\n showText: true,\n ...o,\n }),\n // react_sparkline / react_sparkbar / gauge_chart 2.1.0 formals, except lineWidth and pointSize (1 and 1.1 there):\n // 1.5 for both, as sdvplot's reactable_sdv_sparkline, so the two libraries draw alike\n sparkline: (key, o = {}) => ({\n kind: \"sparkline\",\n key,\n sortable: false,\n lineColor: \"slategray\",\n lineWidth: 1.5,\n showArea: false,\n areaOpacity: 0.1,\n pointSize: 1.5,\n ...SERIES_DEFAULTS,\n ...o,\n }),\n sparkbar: (key, o = {}) => ({\n kind: \"sparkbar\",\n key,\n sortable: false,\n fillColor: \"slategray\",\n fillOpacity: 1,\n ...SERIES_DEFAULTS,\n ...o,\n }),\n gauge: (key, o = {}) => ({\n kind: \"gauge\",\n key,\n fill: [\"#15607A\"],\n background: \"#EEEEEE\",\n showMinMax: false,\n size: 1,\n boldText: false,\n bias: 1,\n opacity: 1,\n ...o,\n }),\n };\n return { ...f, fmtRank: f.rank, fmtTally: f.tally };\n}\n\n/** Themes whose Python default density is \"compact\" (_themes.py:241-242, :1108, :1212); every other theme defaults to \"comfortable\". */\nconst THEME_DENSITY: Readonly<Record<string, Density>> = {\n almanac: \"compact\",\n scoreboard: \"compact\",\n terminal: \"compact\",\n};\n\ntype D<Row, T extends Decoration<Row>[\"type\"]> = Extract<Decoration<Row>, { type: T }>;\nexport class TableBuilder<Row> {\n constructor(private readonly s: TableSpec<Row>) {}\n private add(d: Decoration<Row>): TableBuilder<Row> {\n return new TableBuilder({ ...this.s, decorations: [...this.s.decorations, d] });\n }\n id(id: string): TableBuilder<Row> {\n return new TableBuilder({ ...this.s, id });\n }\n /** J31: the link id column (see `TableSpec.rowKey`). */\n rowKey(key: keyof Row & string): TableBuilder<Row> {\n return new TableBuilder({ ...this.s, rowKey: key });\n }\n columns(fn: (c: ColumnFactory<Row>) => readonly ColumnSpec<Row>[]): TableBuilder<Row> {\n return new TableBuilder({ ...this.s, columns: fn(columnFactory<Row>()) });\n }\n theme(\n name: string,\n o: { density?: Density; options?: Readonly<Record<string, string>> } = {},\n ): TableBuilder<Row> {\n return new TableBuilder({\n ...this.s,\n theme: {\n name,\n density: o.density ?? THEME_DENSITY[name] ?? \"comfortable\",\n ...(o.options ? { options: o.options } : {}),\n },\n });\n }\n title(text: string): TableBuilder<Row> {\n return this.add({ type: \"title\", text });\n }\n subtitle(text: string): TableBuilder<Row> {\n return this.add({ type: \"subtitle\", text });\n }\n titleHeader(title: string, o: Omit<D<Row, \"titleHeader\">, \"type\" | \"title\"> = {}): TableBuilder<Row> {\n return this.add({ type: \"titleHeader\", title, ...o });\n }\n sourceNote(html: string, o: { unsafe?: boolean } = {}): TableBuilder<Row> {\n return this.add({ type: \"sourceNote\", html, ...o });\n }\n caption538(o: Partial<Omit<D<Row, \"caption538\">, \"type\">> = {}): TableBuilder<Row> {\n return this.add({ type: \"caption538\", ruleWidth: 1, size: 12, align: \"right\", ...o });\n }\n groupBy(key: keyof Row & string): TableBuilder<Row> {\n return this.add({ type: \"groupBy\", key });\n }\n groupStripes(o: Partial<Omit<D<Row, \"groupStripes\">, \"type\">> = {}): TableBuilder<Row> {\n return this.add({ type: \"groupStripes\", color: \"#F5F5F5\", start: 2, ...o });\n }\n rowAccent(\n key: keyof Row & string,\n o: Partial<Omit<D<Row, \"rowAccent\">, \"type\" | \"key\">> = {},\n ): TableBuilder<Row> {\n return this.add({\n type: \"rowAccent\",\n key,\n width: 4,\n side: \"left\",\n hide: true,\n naColor: \"transparent\",\n ...o,\n });\n }\n boldRows(\n rows: D<Row, \"boldRows\">[\"rows\"],\n o: Partial<Omit<D<Row, \"boldRows\">, \"type\" | \"rows\">> = {},\n ): TableBuilder<Row> {\n return this.add({ type: \"boldRows\", rows, textColor: \"black\", ...o });\n }\n spotlight(\n rows: D<Row, \"spotlight\">[\"rows\"],\n o: Partial<Omit<D<Row, \"spotlight\">, \"type\" | \"rows\">> = {},\n ): TableBuilder<Row> {\n return this.add({ type: \"spotlight\", rows, bold: true, accentWidth: 4, dimColor: \"auto\", ...o });\n }\n cutline(\n after: number | readonly number[],\n o: Partial<Omit<D<Row, \"cutline\">, \"type\" | \"after\">> = {},\n ): TableBuilder<Row> {\n return this.add({\n type: \"cutline\",\n after: typeof after === \"number\" ? [after] : after,\n color: \"#A6081A\",\n weight: 2,\n style: \"dashed\",\n labelSize: 9,\n labelPosition: \"below\",\n gap: [0],\n ...o,\n });\n }\n borderGrid(o: Partial<Omit<D<Row, \"borderGrid\">, \"type\">> = {}): TableBuilder<Row> {\n return this.add({ type: \"borderGrid\", color: \"black\", weight: 1, includeLabels: false, ...o });\n }\n borderBars(\n side: \"top\" | \"bottom\",\n colors: readonly string[],\n o: Partial<Omit<D<Row, \"borderBars\">, \"type\" | \"side\" | \"colors\">> = {},\n ): TableBuilder<Row> {\n return this.add({\n type: \"borderBars\",\n side,\n colors,\n barHeight: 10,\n barWidth: \"100%\",\n barAlign: \"center\",\n imgWidth: 30,\n imgHeight: 30,\n imgPadding: 10,\n imgAlign: \"right\",\n textWeight: \"bold\",\n textColor: \"#FFFFFF\",\n textSize: 18,\n textAlign: \"left\",\n textPadding: 10,\n ...o,\n });\n }\n // location \"bottom\": Python gt_legend_continuous default (_layout.py:357)\n legendContinuous(o: Partial<Omit<D<Row, \"legendContinuous\">, \"type\">> = {}): TableBuilder<Row> {\n return this.add({\n type: \"legendContinuous\",\n nBins: 5,\n digits: 0,\n titlePosition: \"top\",\n location: \"bottom\",\n swatchWidth: 40,\n swatchHeight: 12,\n ...o,\n });\n }\n legendDiscrete(\n key: D<Row, \"legendDiscrete\">[\"key\"],\n o: Partial<Omit<D<Row, \"legendDiscrete\">, \"type\" | \"key\">> = {},\n ): TableBuilder<Row> {\n return this.add({\n type: \"legendDiscrete\",\n key,\n location: \"top\",\n shape: \"square\",\n swatchSize: 14,\n border: true,\n gap: 14,\n direction: \"horizontal\",\n align: \"center\",\n ...o,\n });\n }\n // hideP: Python hide_p=True (_layout.py:1303)\n significance(\n pairs: D<Row, \"significance\">[\"pairs\"],\n o: Partial<Omit<D<Row, \"significance\">, \"type\" | \"pairs\">> = {},\n ): TableBuilder<Row> {\n return this.add({\n type: \"significance\",\n pairs,\n levels: [0.01, 0.05, 0.1],\n symbols: [\"***\", \"**\", \"*\"],\n superscript: true,\n note: true,\n hideP: true,\n ...o,\n });\n }\n outliers(\n columns: readonly (keyof Row & string)[],\n o: Partial<Omit<D<Row, \"outliers\">, \"type\" | \"columns\">> = {},\n ): TableBuilder<Row> {\n return this.add({ type: \"outliers\", columns, method: \"iqr\", side: \"both\", bold: true, ...o });\n }\n scaleNote(\n columns: readonly (keyof Row & string)[],\n o: Partial<Omit<D<Row, \"scaleNote\">, \"type\" | \"columns\">> = {},\n ): TableBuilder<Row> {\n return this.add({ type: \"scaleNote\", columns, divisor: 1000, where: \"sourceNote\", decimals: 0, ...o });\n }\n socialTag(\n accounts: Readonly<Record<string, string>>,\n o: Partial<Omit<D<Row, \"socialTag\">, \"type\" | \"accounts\">> = {},\n ): TableBuilder<Row> {\n return this.add({\n type: \"socialTag\",\n accounts,\n stack: false,\n separator: \" | \",\n align: \"right\",\n iconHeight: \"0.9em\",\n ...o,\n });\n }\n watermark(o: Partial<Omit<D<Row, \"watermark\">, \"type\">> = {}): TableBuilder<Row> {\n return this.add({\n type: \"watermark\",\n opacity: 0.06,\n size: \"60%\",\n position: \"center\",\n color: \"#000000\",\n angle: 0,\n font: \"Helvetica, Arial, sans-serif\",\n ...o,\n });\n }\n wrapLabels(o: Partial<Omit<D<Row, \"wrapLabels\">, \"type\">> = {}): TableBuilder<Row> {\n return this.add({ type: \"wrapLabels\", width: 12, balance: true, ...o });\n }\n marginalia(\n columns: readonly (keyof Row & string)[],\n o: Partial<Omit<D<Row, \"marginalia\">, \"type\" | \"columns\">> = {},\n ): TableBuilder<Row> {\n return this.add({\n type: \"marginalia\",\n columns,\n width: 220,\n label: \"\",\n italic: true,\n size: \"0.92em\",\n rule: true,\n align: \"left\",\n ...o,\n });\n }\n snake(o: Partial<Omit<D<Row, \"snake\">, \"type\">> = {}): TableBuilder<Row> {\n return this.add({ type: \"snake\", nCols: 2, gap: 20, fill: \"\", cleanGaps: true, ...o });\n }\n tiers(\n levels: readonly string[],\n tierKey: keyof Row & string,\n imageColumns: readonly (keyof Row & string)[],\n o: Partial<Omit<D<Row, \"tiers\">, \"type\" | \"levels\" | \"tierKey\" | \"imageColumns\">> = {},\n ): TableBuilder<Row> {\n return this.add({ type: \"tiers\", levels, tierKey, imageColumns, imgHeight: \"55px\", style: \"dark\", ...o });\n }\n font(family: string, o: Partial<Omit<D<Row, \"font\">, \"type\" | \"family\">> = {}): TableBuilder<Row> {\n return this.add({ type: \"font\", family, google: true, ...o });\n }\n /**\n * reactablefmtr `add_icon_legend`: icons with labels, by default right-aligned below the table.\n */\n legendIcon(o: Partial<Omit<D<Row, \"legendIcon\">, \"type\">> = {}): TableBuilder<Row> {\n return this.add({\n type: \"legendIcon\",\n showLabels: true,\n align: \"right\",\n location: \"bottom\",\n iconSize: 16,\n ...o,\n });\n }\n build(): TableSpec<Row> {\n if (this.s.columns.length === 0)\n throw new TableSpecError(\"a table needs at least one column: call .columns(c => [...])\");\n const seen = new Set<string>();\n for (const col of this.s.columns) {\n if (seen.has(col.key)) throw new TableSpecError(`column key \"${col.key}\" appears twice`);\n seen.add(col.key);\n if (col.kind === \"highlight\" && col.when === undefined && col.extreme === undefined)\n throw new TableSpecError(\n `column \"${col.key}\": highlight needs a predicate or \"min\", \"max\" or \"both\"`,\n );\n checkChart(col);\n }\n if (this.s.decorations.filter((d) => d.type === \"title\").length > 1)\n throw new TableSpecError(\"only one .title()\");\n return this.s;\n }\n}\n/**\n * Start a table spec for rows of type `Row`: chain `.columns(...)`, decorations and `.theme(...)`, then `.build()`.\n * The spec is plain data: render it with `renderHTML` (`@sportsdataverse/sdvtables/html`).\n *\n * @example\n * ```ts\n * import { defineTable } from \"@sportsdataverse/sdvtables\";\n * import { renderHTML } from \"@sportsdataverse/sdvtables/html\";\n *\n * const rows = [\n * { team: \"KC\", wins: 15, losses: 2 },\n * { team: \"BUF\", wins: 13, losses: 4 },\n * { team: \"LAC\", wins: 11, losses: 6 },\n * ];\n * const spec = defineTable<(typeof rows)[number]>()\n * .columns((c) => [c.text(\"team\"), c.int(\"wins\"), c.int(\"losses\")])\n * .title(\"AFC, 2024\")\n * .build();\n * renderHTML(spec, rows);\n * ```\n */\nexport function defineTable<Row>(): TableBuilder<Row> {\n return new TableBuilder<Row>({\n columns: [],\n decorations: [],\n theme: { name: \"sdv\", density: \"comfortable\" },\n });\n}\n","// src/predicate.ts\nimport { TableSpecError } from \"./errors.js\";\nimport type { Predicate, RowSelector } from \"./spec.js\";\nconst isNull = (v: unknown): boolean =>\n v === null || v === undefined || (typeof v === \"number\" && Number.isNaN(v));\nexport function matches<Row>(p: Predicate<Row>, row: Row): boolean {\n const v = (row as Record<string, unknown>)[p.key];\n switch (p.op) {\n case \"isNull\":\n return isNull(v);\n case \"notNull\":\n return !isNull(v);\n case \"==\":\n return v === p.value;\n case \"!=\":\n return v !== p.value;\n case \">\":\n return typeof v === \"number\" && v > (p.value as number);\n case \">=\":\n return typeof v === \"number\" && v >= (p.value as number);\n case \"<\":\n return typeof v === \"number\" && v < (p.value as number);\n case \"<=\":\n return typeof v === \"number\" && v <= (p.value as number);\n case \"in\":\n return Array.isArray(p.value) && p.value.includes(v);\n case \"notIn\":\n return Array.isArray(p.value) && !p.value.includes(v);\n case \"matches\":\n return typeof v === \"string\" && new RegExp(String(p.value)).test(v);\n default: {\n const bad: never = p.op;\n throw new TableSpecError(`unknown predicate op ${String(bad)}`);\n }\n }\n}\n/**\n * The indices into `rows` that `sel` picks. A predicate tests each row; an index array names positions in `source`\n * (default `rows`), matched to `rows` by identity. An interactive render passes the table's source rows, so `[5]`\n * stays the sixth data row whatever page, filter or sort shows it (A49). Throws `TableSpecError` for an index outside `source`.\n */\nexport function selectRows<Row>(\n sel: RowSelector<Row>,\n rows: readonly Row[],\n source: readonly Row[] = rows,\n): number[] {\n if (Array.isArray(sel)) {\n for (const i of sel)\n if (!Number.isInteger(i) || i < 0 || i >= source.length)\n throw new TableSpecError(`row ${i} is outside 0..${source.length - 1}`);\n if (source === rows) return [...sel];\n const want = new Set(sel.map((i) => source[i])); // ponytail: one Set per selector, O(rows); no index map needed\n return rows.flatMap((r, i) => (want.has(r) ? [i] : []));\n }\n const out: number[] = [];\n rows.forEach((r, i) => {\n if (matches(sel as Predicate<Row>, r)) out.push(i);\n });\n return out;\n}\n","// src/snake.ts — gt_snake_align: blocks and rows per block as Python _snake_shape (_layout.py:1630-1640)\nimport { TableSpecError } from \"./errors.js\";\n\nexport function snakeAlign<Row>(\n rows: readonly Row[],\n o: { nCols?: number; rowsPerCol?: number; fill?: Row | null } = {},\n): (Row | null)[][] {\n let blocks: number;\n let per: number;\n if (o.rowsPerCol !== undefined) {\n per = Math.trunc(o.rowsPerCol);\n if (!(per >= 1)) throw new TableSpecError(\"rowsPerCol must be at least 1\");\n blocks = Math.ceil(rows.length / per);\n } else {\n blocks = Math.trunc(o.nCols ?? 2);\n if (!(blocks >= 1)) throw new TableSpecError(\"nCols must be at least 1\");\n per = Math.ceil(rows.length / blocks);\n }\n const fill = o.fill ?? null;\n return Array.from({ length: blocks }, (_, j) =>\n Array.from({ length: per }, (_, k) => rows[j * per + k] ?? fill),\n );\n}\n","// src/format.ts — ports of sdvplot Python great_tables/_cells.py `_number` / `_natural` / `_format_value`.\n// Rounding is HALF-TO-EVEN on exact binary ties, like Python's f-format and `round` (controller ruling R2);\n// JS `toFixed` / `Math.round` round exact ties away from zero.\n\nexport const isBlank = (v: unknown): boolean =>\n v === null ||\n v === undefined ||\n (typeof v === \"number\" && Number.isNaN(v)) ||\n (typeof v === \"string\" && v.trim() === \"\");\n\n/** Python `_number` (_cells.py:963-971): numbers, booleans and numeric strings; anything else (and NaN) is null. Infinities pass. */\nexport function toNumber(v: unknown): number | null {\n if (isBlank(v)) return null;\n if (typeof v === \"string\" && /^\\s*[+-]?0[xXoObB]/.test(v)) return null; // JS Number() reads 0x10; Python float() does not\n const n =\n typeof v === \"number\"\n ? v\n : typeof v === \"boolean\"\n ? Number(v)\n : typeof v === \"string\"\n ? Number(v)\n : Number.NaN;\n return Number.isNaN(n) ? null : n;\n}\n\nconst group = (s: string): string => s.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n\n/** `|x|` rounded to `digits` decimals as an integer string of `x * 10^digits`, exact on the double's binary value, ties to even. */\nfunction scaledDigits(a: number, digits: number): string {\n const dv = new DataView(new ArrayBuffer(8));\n dv.setFloat64(0, a);\n const bits = dv.getBigUint64(0);\n const biased = Number((bits >> 52n) & 0x7ffn);\n const frac = bits & ((1n << 52n) - 1n);\n const m = biased === 0 ? frac : frac | (1n << 52n);\n const e = (biased === 0 ? 1 : biased) - 1075; // a = m * 2^e\n const num = m * 10n ** BigInt(digits);\n if (e >= 0) return (num << BigInt(e)).toString();\n const k = BigInt(-e);\n let q = num >> k;\n const r = num & ((1n << k) - 1n);\n const half = 1n << (k - 1n);\n if (r > half || (r === half && (q & 1n) === 1n)) q += 1n;\n return q.toString();\n}\n\n/**\n * Python `f\"{v:,.{digits}f}\"`: fixed decimals for any `digits`, exact ties to even, sign kept even when the result rounds to zero\n * (`-0.04` -> `-0.0`). Pure BigInt on the double's exact binary value, so no `toFixed` 100-digit cap or exponent form at 1e21.\n */\nfunction fixed(v: number, digits: number, big: boolean): string {\n if (!Number.isFinite(v)) return Number.isNaN(v) ? \"nan\" : v > 0 ? \"inf\" : \"-inf\";\n const s = scaledDigits(Math.abs(v), digits).padStart(digits + 1, \"0\");\n const i = s.slice(0, s.length - digits);\n const f = s.slice(s.length - digits);\n return (v < 0 || Object.is(v, -0) ? \"-\" : \"\") + (big ? group(i) : i) + (digits > 0 ? `.${f}` : \"\");\n}\n\n/** Python `_natural` (_cells.py:974-980): decimals = what `f\"{v:.7g}\"` needs (up to 7 significant figures), then `v` itself is printed with them. */\nexport function naturalDigits(v: number, big = false): string {\n if (!Number.isFinite(v)) return v > 0 ? \"Inf\" : \"-Inf\";\n const exp = Number(Math.abs(v).toExponential(6).split(\"e\")[1]);\n const seven = fixed(Math.abs(v), Math.max(0, 6 - exp), false); // 7 significant figures, ties to even\n const frac = seven.split(\".\")[1]?.replace(/0+$/, \"\") ?? \"\";\n return fixed(v, frac.length, big);\n}\n\n/**\n * Sign-glyph rule: great_tables prints negatives from fmt_number/fmt_percent with U+2212, so `formatNumber` (num/int/pct/delta cells)\n * swaps the ASCII \"-\" for it. `formatValue` ports Python `_format_value` (pill/box/bar labels), which prints a plain \"-\", and does NOT. `fixed()`/`naturalDigits()` stay ASCII on purpose: `pxOf` feeds CSS via Number(fixed(...)).\n */\nconst minus = (s: string): string => s.replace(/-/g, \"−\");\n\nexport type FormatType = \"number\" | \"comma\" | \"currency\" | \"percent\";\n\n/** Python `_format_value` (_cells.py:983-998): a missing value prints `NA`. */\nexport function formatValue(\n v: number | null,\n digits: number | null | undefined,\n formatType: FormatType,\n suffix: string,\n): string {\n const big = formatType === \"comma\" || formatType === \"currency\";\n let core =\n v === null\n ? \"NA\"\n : digits === null || digits === undefined\n ? naturalDigits(v, big)\n : fixed(v, digits, big);\n if (formatType === \"currency\") core = `$${core}`;\n else if (formatType === \"percent\") core += \"%\";\n return core + suffix; // ASCII minus on purpose (_cells.py:983-998); only formatNumber uses U+2212\n}\n\nexport function formatNumber(\n v: number,\n o: { digits?: number; big?: boolean; prefix?: string; suffix?: string; forceSign?: boolean } = {},\n): string {\n const body = o.digits === undefined ? naturalDigits(v, o.big ?? false) : fixed(v, o.digits, o.big ?? false);\n const sign = o.forceSign && !body.startsWith(\"-\") && Number(body.replace(/,/g, \"\")) !== 0 ? \"+\" : \"\";\n return `${o.prefix ?? \"\"}${sign}${minus(body)}${o.suffix ?? \"\"}`;\n}\n\n/** Python `_ordinal_suffix` (_cells.py:1460) on the truncated integer. */\nexport function ordinal(n: number): string {\n const t = Math.abs(Math.trunc(n));\n const m100 = t % 100;\n const suf = m100 >= 11 && m100 <= 13 ? \"th\" : ([\"th\", \"st\", \"nd\", \"rd\"] as const)[t % 10 <= 3 ? t % 10 : 0];\n return `${Math.trunc(n)}${suf}`;\n}\n\nexport const pxOf = (n: number): string => `${Number(fixed(n, 1, false))}px`;\n\n/** gt_scale_note's format: a num/int cell divided by the note's divisor, with its decimals (shared by the HTML table and sdvtables/mui). */\nexport const scaledNumber = (n: number, s: { readonly divisor: number; readonly decimals: number }): string =>\n formatNumber(n / s.divisor, { digits: s.decimals, big: true });\n","// src/themes/tokens.ts\nimport { hex6 } from \"@sportsdataverse/sdvplot\";\nimport { TableSpecError } from \"../errors.js\";\nimport { pxOf } from \"../format.js\";\nimport type { Density, ThemeRef } from \"../spec.js\";\nexport type Role = \"body\" | \"pad\" | \"title\" | \"subtitle\" | \"label\" | \"group\" | \"source\";\nexport type DensitySizes = Readonly<Record<Role, number>>;\nexport const DENSITY: Readonly<Record<Density, DensitySizes>> = {\n // sdvplotR utils-theme.R .theme_density() = _marks.py DENSITY\n comfortable: { body: 14, pad: 6, title: 26, subtitle: 15, label: 10, group: 11, source: 11 },\n compact: { body: 12, pad: 3, title: 22, subtitle: 13, label: 9, group: 10, source: 10 },\n social: { body: 17, pad: 9, title: 34, subtitle: 19, label: 12, group: 13, source: 13 },\n};\nexport function densitySizes(d: Density): DensitySizes {\n const s = DENSITY[d];\n if (!s) throw new TableSpecError(`density must be comfortable, compact or social, not ${String(d)}`);\n return s;\n}\n/** Multipliers against \"comfortable\" — sdvplotR .theme_density_mult(), for themes that hard-code px sizes. */\nexport function scaleFor(d: Density): Readonly<Record<Role, number>> {\n const b = DENSITY.comfortable;\n const s = densitySizes(d);\n return {\n body: s.body / b.body,\n pad: s.pad / b.pad,\n title: s.title / b.title,\n subtitle: s.subtitle / b.subtitle,\n label: s.label / b.label,\n group: s.group / b.group,\n source: s.source / b.source,\n };\n}\nexport const px: (n: number) => string = pxOf;\n/** Python `_color` (_themes.py:85-90): a color option must be opaque hex; returns lowercase `#rrggbb`, else TableSpecError. */\nexport function hexOption(value: string, arg: string): string {\n try {\n return hex6(value);\n } catch {\n throw new TableSpecError(\n `${arg} must be a hex color with no transparency, such as '#8C2F1E', not \"${value}\"`,\n );\n }\n}\nexport interface GoogleFont {\n readonly family: string;\n readonly weights: readonly number[];\n readonly italic?: boolean;\n}\nexport interface ThemeTokens {\n fontBody: string;\n fontLabel: string;\n fontTitle: string;\n bg: string;\n text: string;\n muted: string;\n accent: string;\n rule: string;\n hline: string;\n headingBg: string;\n headingAlign: \"left\" | \"center\";\n titleColor: string;\n titleWeight: string;\n titleSize: string;\n titleTransform: string;\n titleTracking: string;\n subtitleColor: string;\n subtitleSize: string;\n subtitleStyle: string;\n subtitleWeight: string;\n labelBg: string;\n labelColor: string;\n labelWeight: string;\n labelSize: string;\n labelTransform: string;\n labelTracking: string;\n labelStyle: string;\n labelBorderTop: string;\n labelBorderBottom: string;\n groupBg: string;\n groupColor: string;\n groupWeight: string;\n groupSize: string;\n groupTransform: string;\n groupBorderTop: string;\n groupBorderBottom: string;\n bodySize: string;\n bodyWeight: string;\n pad: string;\n headingPad: string;\n labelPad: string;\n groupPad: string;\n sourcePad: string;\n lineHeight: string;\n bodyBorderBottom: string;\n tableBorderTop: string;\n tableBorderBottom: string;\n tableBorderX: string;\n stripe: string;\n sourceColor: string;\n sourceSize: string;\n sourceStyle: string;\n horizon: string;\n}\nexport const TOKEN_KEYS: readonly (keyof ThemeTokens)[] = [\n \"fontBody\",\n \"fontLabel\",\n \"fontTitle\",\n \"bg\",\n \"text\",\n \"muted\",\n \"accent\",\n \"rule\",\n \"hline\",\n \"headingBg\",\n \"headingAlign\",\n \"titleColor\",\n \"titleWeight\",\n \"titleSize\",\n \"titleTransform\",\n \"titleTracking\",\n \"subtitleColor\",\n \"subtitleSize\",\n \"subtitleStyle\",\n \"subtitleWeight\",\n \"labelBg\",\n \"labelColor\",\n \"labelWeight\",\n \"labelSize\",\n \"labelTransform\",\n \"labelTracking\",\n \"labelStyle\",\n \"labelBorderTop\",\n \"labelBorderBottom\",\n \"groupBg\",\n \"groupColor\",\n \"groupWeight\",\n \"groupSize\",\n \"groupTransform\",\n \"groupBorderTop\",\n \"groupBorderBottom\",\n \"bodySize\",\n \"bodyWeight\",\n \"pad\",\n \"headingPad\",\n \"labelPad\",\n \"groupPad\",\n \"sourcePad\",\n \"lineHeight\",\n \"bodyBorderBottom\",\n \"tableBorderTop\",\n \"tableBorderBottom\",\n \"tableBorderX\",\n \"stripe\",\n \"sourceColor\",\n \"sourceSize\",\n \"sourceStyle\",\n \"horizon\",\n];\nexport interface Theme {\n readonly name: string;\n readonly tokens: ThemeTokens;\n readonly fonts: readonly GoogleFont[] /** extra scoped rules; `sel` is `#<tableId>` */;\n readonly rules: (sel: string) => string;\n}\nexport type ThemeDef = (ref: ThemeRef) => Theme;\n/** Tokens every theme starts from; a theme overrides what it sets, so a forgotten key is \"no rule\", never undefined. */\nexport function baseTokens(d: DensitySizes, font: string): ThemeTokens {\n return {\n fontBody: font,\n fontLabel: font,\n fontTitle: font,\n bg: \"#FFFFFF\",\n text: \"#333333\",\n muted: \"#5A5A5A\",\n accent: \"#333333\",\n rule: \"#D3D3D3\",\n hline: \"none\",\n headingBg: \"transparent\",\n headingAlign: \"left\",\n titleColor: \"inherit\",\n titleWeight: \"700\",\n titleSize: px(d.title),\n titleTransform: \"none\",\n titleTracking: \"normal\",\n subtitleColor: \"inherit\",\n subtitleSize: px(d.subtitle),\n subtitleStyle: \"normal\",\n subtitleWeight: \"400\",\n labelBg: \"transparent\",\n labelColor: \"inherit\",\n labelWeight: \"700\",\n labelSize: px(d.label),\n labelTransform: \"none\",\n labelTracking: \"normal\",\n labelStyle: \"normal\",\n labelBorderTop: \"none\",\n labelBorderBottom: \"none\",\n groupBg: \"transparent\",\n groupColor: \"inherit\",\n groupWeight: \"700\",\n groupSize: px(d.group),\n groupTransform: \"none\",\n groupBorderTop: \"none\",\n groupBorderBottom: \"none\",\n bodySize: px(d.body),\n bodyWeight: \"400\",\n pad: px(d.pad),\n headingPad: px(d.pad),\n labelPad: px(d.pad),\n groupPad: px(d.pad),\n sourcePad: px(d.pad),\n lineHeight: \"normal\",\n bodyBorderBottom: \"none\",\n tableBorderTop: \"none\",\n tableBorderBottom: \"none\",\n tableBorderX: \"none\",\n stripe: \"transparent\",\n sourceColor: \"inherit\",\n sourceSize: px(d.source),\n sourceStyle: \"normal\",\n horizon: \"none\",\n };\n}\nexport const SYSTEM_FONTS =\n \"system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'\"; // _marks.R_FONTS\nexport const fontStack = (family: string): string => `'${family}', ${SYSTEM_FONTS}`;\nexport const border = (w: number, color: string, style = \"solid\"): string => `${px(w)} ${style} ${color}`;\n","// src/themes/sdv.ts — port of _marks._light_palette/_dark_palette/_build_theme/gt_theme_sdv_team\nimport {\n UnresolvedTeamError,\n contrast,\n mix,\n onColor,\n resolveSync,\n teamColorsSync,\n warn,\n} from \"@sportsdataverse/sdvplot\";\nimport type { League } from \"@sportsdataverse/sdvplot\";\nimport { TableSpecError } from \"../errors.js\";\nimport type { ThemeRef } from \"../spec.js\";\nimport {\n type Theme,\n type ThemeTokens,\n baseTokens,\n border,\n densitySizes,\n fontStack,\n px,\n scaleFor,\n} from \"./tokens.js\";\nexport const SDV_NAVY = \"#0B1A33\";\nexport const SDV_CYAN = \"#7FE6DC\";\nexport const SDV_HORIZON = \"linear-gradient(90deg, #3346F0, #7FE6DC)\";\ninterface Pal {\n bg: string;\n headingBg: string;\n title: string;\n subtitle?: string;\n muted: string;\n label: string;\n text: string;\n rule: string;\n groupBg: string;\n horizon: string;\n}\nconst light = (horizon: string): Pal => ({\n bg: \"#FFFFFF\",\n headingBg: \"#FFFFFF\",\n title: SDV_NAVY,\n muted: \"#4A5A75\",\n label: \"#16305C\",\n text: SDV_NAVY,\n rule: \"#E3E8F1\",\n groupBg: \"#EEF3FA\",\n horizon,\n});\nconst dark = (): Pal => ({\n bg: SDV_NAVY,\n headingBg: SDV_NAVY,\n title: \"#FFFFFF\",\n muted: \"#A9B8D0\",\n label: \"#9CCBFF\",\n text: \"#EAEBEC\",\n rule: \"#1D3A66\",\n groupBg: \"#16305C\",\n horizon: SDV_HORIZON,\n});\n/** sdvplotR .theme_secondary_on() (_marks.py:619-628): fg blended toward bg as far as still clears 4.5:1 (weights 0.45 + i*0.05, unrounded). */\nexport function secondaryOn(bg: string, fg: string, target = 4.5): string {\n for (let i = 0; i < 12; i++) {\n const c = mix(bg, fg, 0.45 + i * 0.05);\n if (contrast(c, bg) >= target) return c;\n }\n return fg;\n}\nfunction build(name: string, ref: ThemeRef, pal: Pal): Theme {\n const d = densitySizes(ref.density);\n const k = scaleFor(ref.density);\n const sz = (n: number, role: keyof typeof k): string => px(n * k[role]);\n const t: ThemeTokens = {\n ...baseTokens(d, fontStack(\"Lato\")),\n fontLabel: fontStack(\"Chivo\"),\n fontTitle: fontStack(\"Chivo\"),\n bg: pal.bg,\n text: pal.text,\n muted: pal.muted,\n accent: pal.label,\n rule: pal.rule,\n hline: border(1, pal.rule),\n headingBg: pal.headingBg,\n titleColor: pal.title,\n titleWeight: \"800\",\n titleSize: sz(22, \"title\"),\n subtitleColor: pal.subtitle ?? pal.muted,\n subtitleSize: sz(14, \"subtitle\"),\n labelBg: pal.bg,\n labelColor: pal.label,\n labelWeight: \"500\",\n labelSize: sz(13, \"label\"),\n groupBg: pal.groupBg,\n groupColor: pal.label,\n groupWeight: \"500\",\n groupSize: sz(13, \"group\"),\n bodySize: sz(15, \"body\"),\n pad: sz(7, \"pad\"),\n headingPad: sz(4, \"pad\"),\n labelPad: sz(6, \"pad\"),\n groupPad: sz(8, \"pad\"),\n sourcePad: sz(4, \"pad\"),\n sourceColor: pal.muted,\n sourceSize: sz(12, \"source\"),\n horizon: pal.horizon,\n };\n return {\n name,\n tokens: t,\n fonts: [\n { family: \"Chivo\", weights: [500, 800] },\n { family: \"Lato\", weights: [400, 700] },\n ],\n rules: (s) =>\n [\n `${s} th.sdvt-label{padding-bottom:10px}`,\n `${s} caption,${s} tfoot td,${s} th.sdvt-label:first-child,${s} td.sdvt-cell:first-child{padding-left:14px}`,\n `${s} caption,${s} tfoot td,${s} th.sdvt-label:last-child,${s} td.sdvt-cell:last-child{padding-right:14px}`,\n `${s} .sdvt-title{padding-top:12px;display:block}${s} .sdvt-subtitle{padding-bottom:12px;display:block}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${pal.bg}}`,\n ].join(\"\\n\"),\n };\n}\nexport const sdv = (ref: ThemeRef): Theme => {\n const style = ref.options?.style ?? \"light\";\n if (style !== \"light\" && style !== \"dark\")\n throw new TableSpecError(`sdv theme style must be \"light\" or \"dark\", not \"${style}\"`);\n return build(\"sdv\", ref, style === \"dark\" ? dark() : light(SDV_HORIZON));\n};\nexport const sdvTeam = (ref: ThemeRef): Theme => {\n const league = ref.options?.league as League | undefined;\n if (!league) throw new TableSpecError('sdvTeam needs options.league (e.g. { league: \"nfl\", team: \"KC\" })');\n let primary = SDV_NAVY;\n let secondary = SDV_CYAN;\n const team = ref.options?.team;\n if (team) {\n const id = resolveSync(team, league, { strict: true });\n if (!id) throw new UnresolvedTeamError(`${team} is not a ${league} team`);\n const p = teamColorsSync(league, id);\n const s = teamColorsSync(league, id, { which: \"secondary\" });\n if (p) {\n primary = p;\n secondary = s ?? p;\n } else\n warn(\n `sdvtables:sdvTeam:${league}:${team}`,\n `no colors on file for ${league} team \"${team}\"; using the SportsDataverse colors`,\n ); // _marks.py:819-820\n }\n const title = onColor(primary);\n const pal = light(contrast(secondary, \"#ffffff\") >= 1.5 ? secondary : primary);\n return build(\"sdvTeam\", ref, {\n ...pal,\n headingBg: primary,\n title,\n subtitle: secondaryOn(primary, title),\n label: contrast(primary, \"#ffffff\") >= 3 ? primary : SDV_NAVY,\n });\n};\n","{\n \"version\": \"2026.10.18\",\n \"count\": 122,\n \"themes\": {\n \"aer\": {\n \"id\": \"aer\",\n \"theme\": \"aer\",\n \"source\": \"American Economic Review (AEA style)\",\n \"category\": \"journal\",\n \"url\": \"https://www.aeaweb.org/journals/aer/style-guide\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 400,\n \"label\": \"Source Serif 4\",\n \"labelWeight\": 400,\n \"body\": \"Source Serif 4\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Serif 4\",\n \"subtitle\": \"Source Serif 4\",\n \"subtitleItalic\": true\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#111111\",\n \"muted\": \"#555555\",\n \"accent\": \"#111111\",\n \"rule\": \"#111111\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"center\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {text}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"2px solid {text}\",\n \"tableBorderBottom\": \"2px solid {text}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Regression format: coef over (SE), no stars, Panel A/B, a b c notes.\"\n },\n \"ag-grid-alpine\": {\n \"id\": \"ag-grid-alpine\",\n \"theme\": \"ag-grid-alpine\",\n \"source\": \"AG Grid Alpine\",\n \"category\": \"library\",\n \"url\": \"https://github.com/ag-grid/ag-grid/blob/latest/packages/ag-grid-community/src/theming/parts/theme/themes.ts\",\n \"evidence\": \"partial\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"AG Grid ships a dark colour scheme for every theme.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 700,\n \"label\": \"Roboto\",\n \"labelWeight\": 700,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 14,\n \"source\": 11,\n \"padY\": 9,\n \"padX\": 16\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#181d1f\",\n \"muted\": \"#5c6366\",\n \"accent\": \"#2196f3\",\n \"rule\": \"#babfc7\",\n \"hline\": \"#dde2eb\",\n \"labelBg\": \"#f8f8f8\",\n \"labelColor\": \"#181d1f\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#2196f3\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#181d1f\",\n \"bg\": \"#181d1f\",\n \"text\": \"#ffffff\",\n \"muted\": \"#a3a9b0\",\n \"accent\": \"#2196f3\",\n \"rule\": \"#68686e\",\n \"hline\": \"#3a3f44\",\n \"labelBg\": \"#222628\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#222628\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#5ab4f8\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": true,\n \"cardRadius\": 3,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Header weight 700, 13px chrome / 14px data, radius 3, accent #2196F3.\"\n },\n \"ag-grid-balham\": {\n \"id\": \"ag-grid-balham\",\n \"theme\": \"ag-grid-balham\",\n \"source\": \"AG Grid Balham\",\n \"category\": \"library\",\n \"url\": \"https://github.com/ag-grid/ag-grid/blob/latest/packages/ag-grid-community/src/theming/parts/theme/themes.ts\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"AG Grid ships a dark colour scheme for every theme.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 700,\n \"label\": \"Roboto\",\n \"labelWeight\": 700,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 12,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#666666\",\n \"accent\": \"#0091ea\",\n \"rule\": \"#bdc3c7\",\n \"hline\": \"#d9dcde\",\n \"labelBg\": \"#f5f7f7\",\n \"labelColor\": \"#666666\",\n \"stripe\": \"#fcfdfd\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#0091ea\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#2d3436\",\n \"bg\": \"#2d3436\",\n \"text\": \"#f5f5f5\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#00b0ff\",\n \"rule\": \"#424242\",\n \"hline\": \"#5f6a6d\",\n \"labelBg\": \"#1c1c1c\",\n \"labelColor\": \"#a8a8a8\",\n \"stripe\": \"#353f41\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#40c4ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 2,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Dense spacing 4, half-height header column separators, subtle zebra, 12px.\"\n },\n \"ag-grid-material\": {\n \"id\": \"ag-grid-material\",\n \"theme\": \"ag-grid-material\",\n \"source\": \"AG Grid Material\",\n \"category\": \"library\",\n \"url\": \"https://github.com/ag-grid/ag-grid/blob/latest/packages/ag-grid-community/src/theming/parts/theme/themes.ts\",\n \"evidence\": \"partial\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"AG Grid ships a dark colour scheme for every theme.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 500,\n \"label\": \"Roboto\",\n \"labelWeight\": 500,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 14,\n \"padX\": 24\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#212121\",\n \"muted\": \"#626262\",\n \"accent\": \"#3f51b5\",\n \"rule\": \"#222222\",\n \"hline\": \"#e2e2e2\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#626262\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#3f51b5\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1e1e1e\",\n \"text\": \"#ffffff\",\n \"muted\": \"#9e9e9e\",\n \"accent\": \"#9fa8da\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#3a3a3a\",\n \"labelBg\": \"#1e1e1e\",\n \"labelColor\": \"#9e9e9e\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#9fa8da\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {hline}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Header on page bg, foreground-61.5% header text, #00ACC1 value flash, Roboto.\"\n },\n \"ag-grid-quartz\": {\n \"id\": \"ag-grid-quartz\",\n \"theme\": \"ag-grid-quartz\",\n \"source\": \"AG Grid Quartz\",\n \"category\": \"library\",\n \"url\": \"https://github.com/ag-grid/ag-grid/blob/latest/packages/ag-grid-community/src/theming/parts/theme/themes.ts\",\n \"evidence\": \"partial\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"AG Grid ships a dark colour scheme for every theme.\",\n \"fonts\": {\n \"title\": \"IBM Plex Sans\",\n \"titleWeight\": 600,\n \"label\": \"IBM Plex Sans\",\n \"labelWeight\": 500,\n \"body\": \"IBM Plex Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"IBM Plex Sans\",\n \"subtitle\": \"IBM Plex Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 14,\n \"body\": 14,\n \"source\": 11,\n \"padY\": 10,\n \"padX\": 16\n },\n \"light\": {\n \"page\": \"#f8f8f8\",\n \"bg\": \"#ffffff\",\n \"text\": \"#181d1f\",\n \"muted\": \"#5c6366\",\n \"accent\": \"#2196f3\",\n \"rule\": \"#dcdddd\",\n \"hline\": \"#dcdddd\",\n \"labelBg\": \"#f8f8f8\",\n \"labelColor\": \"#181d1f\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#2196f3\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#141414\",\n \"bg\": \"#1f2836\",\n \"text\": \"#ffffff\",\n \"muted\": \"#a3a9b0\",\n \"accent\": \"#2196f3\",\n \"rule\": \"#3c4553\",\n \"hline\": \"#3c4553\",\n \"labelBg\": \"#252f3e\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#242d3b\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#5ab4f8\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": true,\n \"cardRadius\": 8,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"IBM Plex 14px, 8px-radius wrapper, foreground-15% borders, 2% header chrome.\"\n },\n \"annual-report\": {\n \"id\": \"annual-report\",\n \"theme\": \"annual-report\",\n \"source\": \"Annual-report financial statement\",\n \"category\": \"finance\",\n \"url\": \"https://www.sec.gov/include/report.css\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 600,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Serif 4\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Serif 4\",\n \"subtitle\": \"Source Serif 4\",\n \"subtitleItalic\": true\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#111111\",\n \"muted\": \"#666666\",\n \"accent\": \"#111111\",\n \"rule\": \"#111111\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#ffffff\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"3px double {text}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Rule above subtotal, 3px double under total; negatives (1,234), dotted leaders, units line.\"\n },\n \"apa-7\": {\n \"id\": \"apa-7\",\n \"theme\": \"apa-7\",\n \"source\": \"APA 7 table style\",\n \"category\": \"journal\",\n \"url\": \"https://owl.purdue.edu/owl/research_and_citation/apa_style/apa_formatting_and_style_guide/apa_tables_and_figures.html\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Libre Caslon Text\",\n \"titleWeight\": 700,\n \"label\": \"Libre Caslon Text\",\n \"labelWeight\": 400,\n \"body\": \"Libre Caslon Text\",\n \"bodyWeight\": 400,\n \"numeric\": \"Libre Caslon Text\",\n \"subtitle\": \"Libre Caslon Text\",\n \"subtitleItalic\": true\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#555555\",\n \"accent\": \"#111111\",\n \"rule\": \"#000000\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Bold 'Table 1' line + italic title; horizontal rules only; Note. lead-in.\"\n },\n \"arxiv-booktabs\": {\n \"id\": \"arxiv-booktabs\",\n \"theme\": \"arxiv-booktabs\",\n \"source\": \"arXiv / LaTeX booktabs\",\n \"category\": \"journal\",\n \"url\": \"https://ctan.org/pkg/booktabs\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 700,\n \"label\": \"Source Serif 4\",\n \"labelWeight\": 400,\n \"body\": \"Source Serif 4\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Serif 4\",\n \"subtitle\": \"Source Serif 4\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#111111\",\n \"muted\": \"#555555\",\n \"accent\": \"#111111\",\n \"rule\": \"#111111\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"2px solid {rule}\",\n \"tableBorderBottom\": \"2px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Heavy toprule/bottomrule vs light midrule, trimmed cmidrule spanners, siunitx alignment.\"\n },\n \"axios\": {\n \"id\": \"axios\",\n \"theme\": \"axios\",\n \"source\": \"Axios\",\n \"category\": \"news\",\n \"url\": \"https://www.axios.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Nothing measured; minimal bold-sans chrome with one heavy rule inverts to a blue-biased near-black.\",\n \"fonts\": {\n \"title\": \"Public Sans\",\n \"titleWeight\": 800,\n \"label\": \"Public Sans\",\n \"labelWeight\": 700,\n \"body\": \"Public Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"Public Sans\",\n \"subtitle\": \"Public Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 14,\n \"label\": 13,\n \"body\": 14,\n \"source\": 11,\n \"padY\": 7,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#1a1a1a\",\n \"muted\": \"#5c5c5c\",\n \"accent\": \"#2c6cf5\",\n \"rule\": \"#000000\",\n \"hline\": \"#e6e6e6\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#1a1a1a\",\n \"stripe\": \"#f6f8fc\",\n \"summaryBg\": \"#eef3fe\",\n \"link\": \"#1f5ad6\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#0f121a\",\n \"bg\": \"#0f121a\",\n \"text\": \"#f0f2f5\",\n \"muted\": \"#a5acb8\",\n \"accent\": \"#6b9bff\",\n \"rule\": \"#e0e4ea\",\n \"hline\": \"#2a2f3a\",\n \"labelBg\": \"#0f121a\",\n \"labelColor\": \"#f0f2f5\",\n \"stripe\": \"#161a24\",\n \"summaryBg\": \"#1c2436\",\n \"link\": \"#8fb3ff\",\n \"pos\": \"#5cc27a\",\n \"neg\": \"#ff7a6b\",\n \"posBg\": \"#13301f\",\n \"negBg\": \"#3a1a1c\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#161a24\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {hline}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"3px solid {rule}\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"Short Smart-Brevity table: heavy black top rule, bold sans, blue accents, 'Data: … Chart: Axios Visuals' footer.\"\n },\n \"barrons-markets\": {\n \"id\": \"barrons-markets\",\n \"theme\": \"barrons-markets\",\n \"source\": \"Barron's markets data\",\n \"category\": \"finance\",\n \"url\": \"https://www.barrons.com/market-data\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 700,\n \"label\": \"Libre Franklin\",\n \"labelWeight\": 400,\n \"body\": \"Libre Franklin\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto Condensed\",\n \"subtitle\": \"Libre Franklin\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#555555\",\n \"accent\": \"#222222\",\n \"rule\": \"#222222\",\n \"hline\": \"#e0e0e0\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#666666\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#00796d\",\n \"neg\": \"#a52e0f\",\n \"posBg\": \"#e0f3f1\",\n \"negBg\": \"#f6e4df\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#7fb2ff\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#1a1a1a\",\n \"labelColor\": \"#a8a8a8\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#3cc4b5\",\n \"neg\": \"#f08a6d\",\n \"posBg\": \"#0b2e2b\",\n \"negBg\": \"#3a1a12\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"2px solid {rule}\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"chip\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": true\n },\n \"notes\": \"Teal #009788 vs brick #A52E0F deltas: luminance-separated, CVD-friendlier. pos/neg AA-adjusted.\"\n },\n \"barttorvik\": {\n \"id\": \"barttorvik\",\n \"theme\": \"barttorvik\",\n \"source\": \"Bart Torvik (T-Rank)\",\n \"category\": \"sports\",\n \"url\": \"https://barttorvik.com/trank.php\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Exported-Excel look (Accent-1 header, black hairlines, green-white-red) is defined on white.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 12,\n \"label\": 10,\n \"body\": 12,\n \"source\": 10,\n \"padY\": 3,\n \"padX\": 3\n },\n \"light\": {\n \"page\": \"#f9fbff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#444444\",\n \"accent\": \"#5b9bd5\",\n \"rule\": \"#000000\",\n \"hline\": \"#000000\",\n \"labelBg\": \"#5b9bd5\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#ddebf7\",\n \"link\": \"#00008b\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f9a2a5\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#a5d9b4\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"center\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"center\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"excel-gwr\",\n \"heatColumns\": [\n \"pct\",\n \"net\",\n \"delta\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Excel Accent-1 blue header, black hairlines, capped green-white-red conditional fills.\"\n },\n \"baseball-prospectus\": {\n \"id\": \"baseball-prospectus\",\n \"theme\": \"baseball-prospectus\",\n \"source\": \"Baseball Prospectus\",\n \"category\": \"sports\",\n \"url\": \"https://www.baseballprospectus.com/leaderboards/pitching/\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark original; slate header and cool zebra keep their identity on a slate-biased ground.\",\n \"fonts\": {\n \"title\": \"Open Sans\",\n \"titleWeight\": 700,\n \"label\": \"Roboto Condensed\",\n \"labelWeight\": 400,\n \"body\": \"Roboto Condensed\",\n \"bodyWeight\": 300,\n \"numeric\": \"Roboto Condensed\",\n \"subtitle\": \"Roboto Condensed\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 13,\n \"source\": 12,\n \"padY\": 6,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#212529\",\n \"muted\": \"#6a7881\",\n \"accent\": \"#103a8a\",\n \"rule\": \"#6a7881\",\n \"hline\": \"#ecf0f4\",\n \"labelBg\": \"#6a7881\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#ecf0f4\",\n \"summaryBg\": \"#dfe5eb\",\n \"link\": \"#103a8a\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#0e1216\",\n \"bg\": \"#151a1f\",\n \"text\": \"#e3e7eb\",\n \"muted\": \"#9aa6ae\",\n \"accent\": \"#7ea3e6\",\n \"rule\": \"#4f5b63\",\n \"hline\": \"#262d34\",\n \"labelBg\": \"#4f5b63\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#1c2228\",\n \"summaryBg\": \"#232a31\",\n \"link\": \"#8fb1ef\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0.09px\",\n \"labelAlign\": \"center\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Roboto Condensed Light numerals, slate header band, cool blue-grey zebra, everything centered.\"\n },\n \"baseball-reference\": {\n \"id\": \"baseball-reference\",\n \"theme\": \"baseball-reference\",\n \"source\": \"Baseball-Reference\",\n \"category\": \"sports\",\n \"url\": \"https://www.baseball-reference.com/\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark original; the grey boxed grid and amber summary band survive inversion on a neutral near-black.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#c9cbcd\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#525456\",\n \"accent\": \"#82081b\",\n \"rule\": \"#747678\",\n \"hline\": \"#dddddd\",\n \"labelBg\": \"#eeeeee\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#ffc966\",\n \"link\": \"#3344dd\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#1b1c1d\",\n \"bg\": \"#121314\",\n \"text\": \"#ececec\",\n \"muted\": \"#a3a5a7\",\n \"accent\": \"#e0506a\",\n \"rule\": \"#8a8c8e\",\n \"hline\": \"#3a3b3c\",\n \"labelBg\": \"#2a2b2c\",\n \"labelColor\": \"#ececec\",\n \"stripe\": \"#1a1b1c\",\n \"summaryBg\": \"#5c4310\",\n \"link\": \"#8f9bff\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px dotted {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"2px solid {rule}\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Grey boxed header, dotted row rules, column hairlines, amber league-average row; accent #82081b.\"\n },\n \"baseball-savant\": {\n \"id\": \"baseball-savant\",\n \"theme\": \"baseball-savant\",\n \"source\": \"Baseball Savant\",\n \"category\": \"sports\",\n \"url\": \"https://baseballsavant.mlb.com/leaderboard/percentile-rankings\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Light-only site; red/blue percentile fills stay legible on a navy-biased dark.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 700,\n \"label\": \"Roboto\",\n \"labelWeight\": 700,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 5,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#666666\",\n \"accent\": \"#002d72\",\n \"rule\": \"#cccccc\",\n \"hline\": \"#dddddd\",\n \"labelBg\": \"#f5f5f5\",\n \"labelColor\": \"#222222\",\n \"stripe\": \"#f9f9f9\",\n \"summaryBg\": \"#eeeeee\",\n \"link\": \"#002d72\",\n \"pos\": \"#b81c22\",\n \"neg\": \"#2c55a0\",\n \"posBg\": \"#f6d3d4\",\n \"negBg\": \"#d6e0f2\",\n \"heatLow\": \"#3661ad\",\n \"heatMid\": \"#ffffff\",\n \"heatHigh\": \"#d82129\"\n },\n \"dark\": {\n \"page\": \"#0b0f17\",\n \"bg\": \"#121826\",\n \"text\": \"#e6e9ef\",\n \"muted\": \"#9aa3b2\",\n \"accent\": \"#6f9ce0\",\n \"rule\": \"#3a4356\",\n \"hline\": \"#262e3d\",\n \"labelBg\": \"#1a2133\",\n \"labelColor\": \"#e6e9ef\",\n \"stripe\": \"#161d2c\",\n \"summaryBg\": \"#1f2738\",\n \"link\": \"#8fb0f0\",\n \"pos\": \"#ff7b80\",\n \"neg\": \"#7fa6ec\",\n \"posBg\": \"#4a1c1f\",\n \"negBg\": \"#1b2b4d\",\n \"heatLow\": \"#2c55a0\",\n \"heatMid\": \"#121826\",\n \"heatHigh\": \"#b81c22\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"savant\",\n \"heatColumns\": [\n \"pct\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Shipped theme; red = good, blue = bad percentile fills. Preview only, values estimated.\"\n },\n \"basketball-reference\": {\n \"id\": \"basketball-reference\",\n \"theme\": \"basketball-reference\",\n \"source\": \"Basketball-Reference\",\n \"category\": \"sports\",\n \"url\": \"https://www.basketball-reference.com/leagues/NBA_2025_per_game.html\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark original; the grey boxed grid and amber summary band survive inversion on a neutral near-black.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#c9cbcd\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#525456\",\n \"accent\": \"#8f5400\",\n \"rule\": \"#747678\",\n \"hline\": \"#dddddd\",\n \"labelBg\": \"#eeeeee\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#ffc966\",\n \"link\": \"#3344dd\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#1b1c1d\",\n \"bg\": \"#121314\",\n \"text\": \"#ececec\",\n \"muted\": \"#a3a5a7\",\n \"accent\": \"#f8951d\",\n \"rule\": \"#8a8c8e\",\n \"hline\": \"#3a3b3c\",\n \"labelBg\": \"#2a2b2c\",\n \"labelColor\": \"#ececec\",\n \"stripe\": \"#1a1b1c\",\n \"summaryBg\": \"#5c4310\",\n \"link\": \"#8f9bff\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px dotted {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"2px solid {rule}\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Grey boxed header, dotted row rules, column hairlines, amber league-average row; accent #8f5400.\"\n },\n \"bbc-sport\": {\n \"id\": \"bbc-sport\",\n \"theme\": \"bbc-sport\",\n \"source\": \"BBC Sport\",\n \"category\": \"news\",\n \"url\": \"https://www.bbc.com/sport/football/premier-league/table\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Grey label band and cut-lines invert to a near-black with a faint green bias; Sport green lifted for contrast.\",\n \"fonts\": {\n \"title\": \"Noto Sans\",\n \"titleWeight\": 700,\n \"label\": \"Noto Sans\",\n \"labelWeight\": 500,\n \"body\": \"Noto Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"Noto Sans\",\n \"subtitle\": \"Noto Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 24,\n \"subtitle\": 14,\n \"label\": 13,\n \"body\": 14,\n \"source\": 13,\n \"padY\": 8,\n \"padX\": 12\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#606060\",\n \"muted\": \"#767676\",\n \"accent\": \"#387b12\",\n \"rule\": \"#606060\",\n \"hline\": \"#d8d8d8\",\n \"labelBg\": \"#f6f6f6\",\n \"labelColor\": \"#181818\",\n \"stripe\": \"#f8f8f8\",\n \"summaryBg\": \"#f8f8f8\",\n \"link\": \"#387b12\",\n \"pos\": \"#2f6b0f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e6f2df\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121412\",\n \"bg\": \"#121412\",\n \"text\": \"#c8c8c8\",\n \"muted\": \"#9a9a9a\",\n \"accent\": \"#6cc23a\",\n \"rule\": \"#9a9a9a\",\n \"hline\": \"#333633\",\n \"labelBg\": \"#1e211e\",\n \"labelColor\": \"#f2f2f2\",\n \"stripe\": \"#1a1c1a\",\n \"summaryBg\": \"#1e211e\",\n \"link\": \"#7fd14b\",\n \"pos\": \"#6cc23a\",\n \"neg\": \"#ff6f61\",\n \"posBg\": \"#1b2e14\",\n \"negBg\": \"#3a1a17\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#1a1c1a\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"center\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {hline}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"1px solid {hline}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 4,\n \"cutRule\": \"2px solid {rule}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"2px #606060 cut-lines at qualification zones, #f6f6f6 label band, centred numbers; pos green darkened.\"\n },\n \"bloomberg\": {\n \"id\": \"bloomberg\",\n \"theme\": \"bloomberg\",\n \"source\": \"Bloomberg Graphics\",\n \"category\": \"news\",\n \"url\": \"https://www.bloomberg.com/graphics/2024-us-election-results/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Black-and-white heavy-rule look inverts directly; terminal green/red deltas already read on black.\",\n \"fonts\": {\n \"title\": \"Inter Tight\",\n \"titleWeight\": 700,\n \"label\": \"Inter Tight\",\n \"labelWeight\": 700,\n \"body\": \"Inter Tight\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter Tight\",\n \"subtitle\": \"Inter Tight\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#f2f2f2\",\n \"bg\": \"#f2f2f2\",\n \"text\": \"#000000\",\n \"muted\": \"#595959\",\n \"accent\": \"#000000\",\n \"rule\": \"#000000\",\n \"hline\": \"#d0d0d0\",\n \"labelBg\": \"#f2f2f2\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#e8e8e8\",\n \"summaryBg\": \"#e6e6e6\",\n \"link\": \"#000000\",\n \"pos\": \"#13703f\",\n \"neg\": \"#b8261a\",\n \"posBg\": \"#d9efe1\",\n \"negBg\": \"#f9dcd8\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#f2f2f2\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#0a0a0a\",\n \"bg\": \"#0a0a0a\",\n \"text\": \"#f2f2f2\",\n \"muted\": \"#a6a6a6\",\n \"accent\": \"#ffffff\",\n \"rule\": \"#e0e0e0\",\n \"hline\": \"#2a2a2a\",\n \"labelBg\": \"#0a0a0a\",\n \"labelColor\": \"#f2f2f2\",\n \"stripe\": \"#141414\",\n \"summaryBg\": \"#1f1f1f\",\n \"link\": \"#ffffff\",\n \"pos\": \"#2bb673\",\n \"neg\": \"#f04e37\",\n \"posBg\": \"#0f2e1f\",\n \"negBg\": \"#2e100c\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#141414\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"3px solid {rule}\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"arrow\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Heavy 3px black top rule, tight density, ▲▼ green/red deltas; light deltas darkened for AA on #f2f2f2.\"\n },\n \"bloomberg-markets\": {\n \"id\": \"bloomberg-markets\",\n \"theme\": \"bloomberg-markets\",\n \"source\": \"Bloomberg.com Markets\",\n \"category\": \"finance\",\n \"url\": \"https://www.bloomberg.com/markets/stocks\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Phoenix tokens ship paired light/dark market colours.\",\n \"fonts\": {\n \"title\": \"Inter Tight\",\n \"titleWeight\": 800,\n \"label\": \"Inter\",\n \"labelWeight\": 600,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#767676\",\n \"accent\": \"#338736\",\n \"rule\": \"#000000\",\n \"hline\": \"#efefef\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#767676\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#efefef\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#146917\",\n \"neg\": \"#b20e01\",\n \"posBg\": \"#d1edc0\",\n \"negBg\": \"#ffcdca\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#1c1c1c\",\n \"bg\": \"#1c1c1c\",\n \"text\": \"#ffffff\",\n \"muted\": \"#b3b3b3\",\n \"accent\": \"#4db250\",\n \"rule\": \"#ffffff\",\n \"hline\": \"#3c3c3c\",\n \"labelBg\": \"#1c1c1c\",\n \"labelColor\": \"#b3b3b3\",\n \"stripe\": \"#242424\",\n \"summaryBg\": \"#3c3c3c\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#4db250\",\n \"neg\": \"#ff6a5c\",\n \"posBg\": \"#073208\",\n \"negBg\": \"#4e0300\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0.04em\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"4px solid {rule}\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"chip\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Grotesk grid, tinted delta chips; light chip text darkened to green-600/red-600.\"\n },\n \"bls\": {\n \"id\": \"bls\",\n \"theme\": \"bls\",\n \"source\": \"US Bureau of Labor Statistics\",\n \"category\": \"gov\",\n \"url\": \"https://www.bls.gov/news.release/empsit.t01.htm\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 12,\n \"source\": 11,\n \"padY\": 3,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#444444\",\n \"accent\": \"#003366\",\n \"rule\": \"#999999\",\n \"hline\": \"#cccccc\",\n \"labelBg\": \"#e6e6e6\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#7fa7d6\",\n \"rule\": \"#666666\",\n \"hline\": \"#3a3a3a\",\n \"labelBg\": \"#2e2e2e\",\n \"labelColor\": \"#e8e8e8\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px dotted {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Grey #E6E6E6 header cells, deep stub indentation, (1) (2) footnotes, p = preliminary.\"\n },\n \"cell\": {\n \"id\": \"cell\",\n \"theme\": \"cell\",\n \"source\": \"Cell (STAR Methods)\",\n \"category\": \"journal\",\n \"url\": \"https://www.cell.com/star-authors-guide\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#111111\",\n \"muted\": \"#555555\",\n \"accent\": \"#111111\",\n \"rule\": \"#111111\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#e6e6e6\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#e6e6e6\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid #e5e5e5\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Key resources table: grey #E6E6E6 section bands, REAGENT/SOURCE/IDENTIFIER.\"\n },\n \"chess-com\": {\n \"id\": \"chess-com\",\n \"theme\": \"chess-com\",\n \"source\": \"Chess.com leaderboards\",\n \"category\": \"sports\",\n \"url\": \"https://www.chess.com/leaderboard/live\",\n \"evidence\": \"partial\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Default theme is dark and measured (#302e2b, alpha-white ink); light palette estimated.\",\n \"fonts\": {\n \"title\": \"Manrope\",\n \"titleWeight\": 800,\n \"label\": \"Inter\",\n \"labelWeight\": 600,\n \"body\": \"Inter\",\n \"bodyWeight\": 600,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 24,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 14,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#f1f1f1\",\n \"bg\": \"#ffffff\",\n \"text\": \"#312e2b\",\n \"muted\": \"#6f6c69\",\n \"accent\": \"#81b64c\",\n \"rule\": \"#e3e3e3\",\n \"hline\": \"#ececec\",\n \"labelBg\": \"#f1f1f1\",\n \"labelColor\": \"#312e2b\",\n \"stripe\": \"#f7f7f7\",\n \"summaryBg\": \"#f1f1f1\",\n \"link\": \"#312e2b\",\n \"pos\": \"#547631\",\n \"neg\": \"#c23223\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#262421\",\n \"bg\": \"#302e2b\",\n \"text\": \"#c5c4c4\",\n \"muted\": \"#989695\",\n \"accent\": \"#81b64c\",\n \"rule\": \"#000000\",\n \"hline\": \"#3c3a37\",\n \"labelBg\": \"#000000\",\n \"labelColor\": \"#b8b8b8\",\n \"stripe\": \"#34322f\",\n \"summaryBg\": \"#262421\",\n \"link\": \"#ffffff\",\n \"pos\": \"#94c167\",\n \"neg\": \"#fb6c5c\",\n \"posBg\": \"#3d4a2c\",\n \"negBg\": \"#4d2620\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"Warm-charcoal leaderboard, black header, only W/L figures and medal ranks coloured. pos/neg adjusted for AA.\"\n },\n \"chicago-manual\": {\n \"id\": \"chicago-manual\",\n \"theme\": \"chicago-manual\",\n \"source\": \"Chicago Manual of Style (ch. 3)\",\n \"category\": \"journal\",\n \"url\": \"https://www.chicagomanualofstyle.org/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Libre Caslon Text\",\n \"titleWeight\": 700,\n \"label\": \"Libre Caslon Text\",\n \"labelWeight\": 400,\n \"body\": \"Libre Caslon Text\",\n \"bodyWeight\": 400,\n \"numeric\": \"Libre Caslon Text\",\n \"subtitle\": \"Libre Caslon Text\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#111111\",\n \"muted\": \"#555555\",\n \"accent\": \"#111111\",\n \"rule\": \"#111111\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {text}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"2px solid {text}\",\n \"tableBorderBottom\": \"2px solid {text}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Horizontal rules only, units in column heads, source then general then specific notes.\"\n },\n \"cleaning-the-glass\": {\n \"id\": \"cleaning-the-glass\",\n \"theme\": \"cleaning-the-glass\",\n \"source\": \"Cleaning the Glass\",\n \"category\": \"sports\",\n \"url\": \"https://cleaningtheglass.com/stats/league/summary\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark mode; the orange/blue rank chips keep their meaning on a warm near-black ground.\",\n \"fonts\": {\n \"title\": \"Jost\",\n \"titleWeight\": 500,\n \"label\": \"Roboto\",\n \"labelWeight\": 400,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 9,\n \"padX\": 10\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#444444\",\n \"muted\": \"#999999\",\n \"accent\": \"#eb9421\",\n \"rule\": \"#454545\",\n \"hline\": \"#e6e6e6\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#444444\",\n \"stripe\": \"#fdf4e8\",\n \"summaryBg\": \"#f2f2f2\",\n \"link\": \"#444444\",\n \"pos\": \"#864a00\",\n \"neg\": \"#184a94\",\n \"posBg\": \"#ffc880\",\n \"negBg\": \"#95c1ff\",\n \"heatLow\": \"#3388ff\",\n \"heatMid\": \"#ffffff\",\n \"heatHigh\": \"#ff9000\"\n },\n \"dark\": {\n \"page\": \"#121110\",\n \"bg\": \"#1a1816\",\n \"text\": \"#d4d0cc\",\n \"muted\": \"#8f8a85\",\n \"accent\": \"#eb9421\",\n \"rule\": \"#6e6a66\",\n \"hline\": \"#2e2b28\",\n \"labelBg\": \"#1a1816\",\n \"labelColor\": \"#d4d0cc\",\n \"stripe\": \"#2a2118\",\n \"summaryBg\": \"#24211e\",\n \"link\": \"#f0a443\",\n \"pos\": \"#ffad4d\",\n \"neg\": \"#6ea8ff\",\n \"posBg\": \"#4a2e0c\",\n \"negBg\": \"#10284d\",\n \"heatLow\": \"#1f5fbf\",\n \"heatMid\": \"#1a1816\",\n \"heatHigh\": \"#c86f00\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"uppercase\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"rank-orange-blue\",\n \"heatColumns\": [\n \"pct\",\n \"net\"\n ],\n \"rankPair\": true,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Value plus league-rank chip, orange good / blue bad; no row rules. pos/neg darkened for AA.\"\n },\n \"datagolf\": {\n \"id\": \"datagolf\",\n \"theme\": \"datagolf\",\n \"source\": \"DataGolf\",\n \"category\": \"sports\",\n \"url\": \"https://datagolf.com/datagolf-rankings\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Ships a measured color-mode=dark: #141414 ground, #232323 header strip, #1e1e1e row rules.\",\n \"fonts\": {\n \"title\": \"Fira Sans\",\n \"titleWeight\": 700,\n \"label\": \"Fira Sans\",\n \"labelWeight\": 400,\n \"body\": \"Fira Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"Fira Sans\",\n \"subtitle\": \"Fira Sans\",\n \"subtitleItalic\": true\n },\n \"sizes\": {\n \"title\": 16,\n \"subtitle\": 12,\n \"label\": 10,\n \"body\": 12,\n \"source\": 9,\n \"padY\": 6,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#0f0f0f\",\n \"muted\": \"#878787\",\n \"accent\": \"#3d9970\",\n \"rule\": \"#c8c8c8\",\n \"hline\": \"#e6e6e6\",\n \"labelBg\": \"#f0f0f0\",\n \"labelColor\": \"#0f0f0f\",\n \"stripe\": \"#f7f7f7\",\n \"summaryBg\": \"#f3f3f3\",\n \"link\": \"#0074d9\",\n \"pos\": \"#2b6b4e\",\n \"neg\": \"#a62a23\",\n \"posBg\": \"#c5e0d4\",\n \"negBg\": \"#ffc6c3\",\n \"heatLow\": \"#ff7a72\",\n \"heatMid\": \"#ffffff\",\n \"heatHigh\": \"#77b89b\"\n },\n \"dark\": {\n \"page\": \"#141414\",\n \"bg\": \"#141414\",\n \"text\": \"#cdcdcd\",\n \"muted\": \"#7d7d7d\",\n \"accent\": \"#3d9970\",\n \"rule\": \"#373737\",\n \"hline\": \"#1e1e1e\",\n \"labelBg\": \"#232323\",\n \"labelColor\": \"#cdcdcd\",\n \"stripe\": \"#191919\",\n \"summaryBg\": \"#1a2822\",\n \"link\": \"#4da3ff\",\n \"pos\": \"#5fbf92\",\n \"neg\": \"#ff6f66\",\n \"posBg\": \"#203c30\",\n \"negBg\": \"#5a221e\",\n \"heatLow\": \"#b8342c\",\n \"heatMid\": \"#141414\",\n \"heatHigh\": \"#317154\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"center\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"1px solid {hline}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"signed-alpha\",\n \"heatColumns\": [\n \"net\",\n \"delta\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Tiny Trebuchet-like type, near-invisible grey chrome; green/red alpha fills capped at 70%. pos/neg darkened for AA.\"\n },\n \"datatables\": {\n \"id\": \"datatables\",\n \"theme\": \"datatables\",\n \"source\": \"DataTables (display class)\",\n \"category\": \"library\",\n \"url\": \"https://datatables.net/manual/styling/classes\",\n \"evidence\": \"estimated\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"DataTables 2 ships an automatic dark mode.\",\n \"fonts\": {\n \"title\": \"Open Sans\",\n \"titleWeight\": 700,\n \"label\": \"Open Sans\",\n \"labelWeight\": 700,\n \"body\": \"Open Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"Open Sans\",\n \"subtitle\": \"Open Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#666666\",\n \"accent\": \"#c70000\",\n \"rule\": \"#4d4d4d\",\n \"hline\": \"#e6e6e6\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#333333\",\n \"stripe\": \"#f9f9f9\",\n \"summaryBg\": \"#f2f2f2\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#212529\",\n \"bg\": \"#212529\",\n \"text\": \"#dee2e6\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#7fb2ff\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#343a40\",\n \"labelBg\": \"#212529\",\n \"labelColor\": \"#dee2e6\",\n \"stripe\": \"#272b30\",\n \"summaryBg\": \"#2c3136\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"display = stripe+hover+row-border+order-column: sorted column shaded ~2% black.\"\n },\n \"datawrapper\": {\n \"id\": \"datawrapper\",\n \"theme\": \"datawrapper\",\n \"source\": \"Datawrapper (default table)\",\n \"category\": \"news\",\n \"url\": \"https://datawrapper.dwcdn.net/66sZG/5/\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Datawrapper themes ship a dark mode with background #252525 (measured); other dark values estimated.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 700,\n \"label\": \"Roboto\",\n \"labelWeight\": 700,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#181818\",\n \"muted\": \"#6b7070\",\n \"accent\": \"#18a1cd\",\n \"rule\": \"#333333\",\n \"hline\": \"#e5e5e5\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#181818\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#0077b3\",\n \"pos\": \"#00715d\",\n \"neg\": \"#c4362a\",\n \"posBg\": \"#e0f5ef\",\n \"negBg\": \"#fde6e3\",\n \"heatLow\": \"#ebf6fa\",\n \"heatMid\": \"#8fcfe6\",\n \"heatHigh\": \"#1d81a2\"\n },\n \"dark\": {\n \"page\": \"#252525\",\n \"bg\": \"#252525\",\n \"text\": \"#eeeeee\",\n \"muted\": \"#a7adad\",\n \"accent\": \"#4fc3e8\",\n \"rule\": \"#cccccc\",\n \"hline\": \"#3d3d3d\",\n \"labelBg\": \"#252525\",\n \"labelColor\": \"#eeeeee\",\n \"stripe\": \"#2e2e2e\",\n \"summaryBg\": \"#333333\",\n \"link\": \"#4db8e8\",\n \"pos\": \"#3fd0a8\",\n \"neg\": \"#ff8577\",\n \"posBg\": \"#1b3a33\",\n \"negBg\": \"#4a2622\",\n \"heatLow\": \"#2a3338\",\n \"heatMid\": \"#1d6680\",\n \"heatHigh\": \"#4fc3e8\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"sequential\",\n \"heatColumns\": [\n \"pct\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"2px #333 header rule, Roboto 13px, heatmap column; neg #F76454, muted, link darkened for AA.\"\n },\n \"der-spiegel\": {\n \"id\": \"der-spiegel\",\n \"theme\": \"der-spiegel\",\n \"source\": \"Der Spiegel\",\n \"category\": \"news\",\n \"url\": \"https://cdn.prod.www.spiegel.de/public/spon/generated/css/styles.9347f88c056d161e6781.css\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Warm grid and pale-blue header map to a warm near-black grid with a dark blue-grey header band.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 700,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 14,\n \"label\": 14,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 12,\n \"padX\": 16\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#6b6866\",\n \"accent\": \"#e64415\",\n \"rule\": \"#dddbd9\",\n \"hline\": \"#dddbd9\",\n \"labelBg\": \"#e9f1f5\",\n \"labelColor\": \"#222222\",\n \"stripe\": \"#f6f5f4\",\n \"summaryBg\": \"#f2f1f0\",\n \"link\": \"#b8360f\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#161412\",\n \"bg\": \"#161412\",\n \"text\": \"#ece9e6\",\n \"muted\": \"#a8a39e\",\n \"accent\": \"#ff6a3d\",\n \"rule\": \"#4a4642\",\n \"hline\": \"#4a4642\",\n \"labelBg\": \"#1f2a30\",\n \"labelColor\": \"#e9f1f5\",\n \"stripe\": \"#1d1a18\",\n \"summaryBg\": \"#26221f\",\n \"link\": \"#ff7e57\",\n \"pos\": \"#5cc27a\",\n \"neg\": \"#ff7a6b\",\n \"posBg\": \"#16301f\",\n \"negBg\": \"#3a1c18\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#1d1a18\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"left\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {hline}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Warm-grey #dddbd9 full grid, pale-blue #e9f1f5 header, first column left, rest right.\"\n },\n \"dunks-and-threes\": {\n \"id\": \"dunks-and-threes\",\n \"theme\": \"dunks-and-threes\",\n \"source\": \"Dunks & Threes\",\n \"category\": \"sports\",\n \"url\": \"https://dunksandthrees.com/\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Ships a shadcn dark theme: #222222 ground, #fafafa ink, white/10% borders, blended dark greens.\",\n \"fonts\": {\n \"title\": \"Nunito\",\n \"titleWeight\": 800,\n \"label\": \"Nunito Sans\",\n \"labelWeight\": 600,\n \"body\": \"Nunito Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"JetBrains Mono\",\n \"subtitle\": \"Nunito Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 12,\n \"padY\": 4,\n \"padX\": 12\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#0a0a0a\",\n \"muted\": \"#737373\",\n \"accent\": \"#007a55\",\n \"rule\": \"#737373\",\n \"hline\": \"#e5e5e5\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#737373\",\n \"stripe\": \"#f9f9f9\",\n \"summaryBg\": \"#f5f5f5\",\n \"link\": \"#007a55\",\n \"pos\": \"#00714f\",\n \"neg\": \"#bc2128\",\n \"posBg\": \"#cce4de\",\n \"negBg\": \"#fed5d7\",\n \"heatLow\": \"#fb2c36\",\n \"heatMid\": \"#ffffff\",\n \"heatHigh\": \"#027a5a\"\n },\n \"dark\": {\n \"page\": \"#222222\",\n \"bg\": \"#222222\",\n \"text\": \"#fafafa\",\n \"muted\": \"#a1a1a1\",\n \"accent\": \"#34b88a\",\n \"rule\": \"#a1a1a1\",\n \"hline\": \"#383838\",\n \"labelBg\": \"#222222\",\n \"labelColor\": \"#a1a1a1\",\n \"stripe\": \"#282828\",\n \"summaryBg\": \"#2e2e2e\",\n \"link\": \"#4cc79a\",\n \"pos\": \"#94ddc2\",\n \"neg\": \"#ff6b72\",\n \"posBg\": \"#226252\",\n \"negBg\": \"#4a2326\",\n \"heatLow\": \"#b42e28\",\n \"heatMid\": \"#222222\",\n \"heatHigh\": \"#226252\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"center\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {muted}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"2px solid {rule}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 2,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"emerald-alpha\",\n \"heatColumns\": [\n \"pct\",\n \"net\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": true\n },\n \"notes\": \"Rounded sans labels, JetBrains Mono numerals, emerald alpha heat, sticky totals row. pos/neg adjusted for AA.\"\n },\n \"economist\": {\n \"id\": \"economist\",\n \"theme\": \"economist\",\n \"source\": \"The Economist\",\n \"category\": \"news\",\n \"url\": \"https://design-system.economist.com/dist/5.99.2/umd/common.css\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Flush-left sans with one ink rule inverts cleanly; red tag lifted to the measured red-60 #f6423c.\",\n \"fonts\": {\n \"title\": \"Fira Sans\",\n \"titleWeight\": 700,\n \"label\": \"Fira Sans\",\n \"labelWeight\": 700,\n \"body\": \"Fira Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"Fira Sans\",\n \"subtitle\": \"Fira Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 15,\n \"label\": 14,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 12,\n \"padX\": 12\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#0d0d0d\",\n \"muted\": \"#595959\",\n \"accent\": \"#e3120b\",\n \"rule\": \"#0d0d0d\",\n \"hline\": \"#d9d9d9\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#0d0d0d\",\n \"stripe\": \"#f2f2f2\",\n \"summaryBg\": \"#f2f2f2\",\n \"link\": \"#2e45b8\",\n \"pos\": \"#13735a\",\n \"neg\": \"#c91d42\",\n \"posBg\": \"#e2f5ef\",\n \"negBg\": \"#fbe3e8\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#111318\",\n \"bg\": \"#111318\",\n \"text\": \"#f2f2f2\",\n \"muted\": \"#b3b3b3\",\n \"accent\": \"#f6423c\",\n \"rule\": \"#d9d9d9\",\n \"hline\": \"#33363d\",\n \"labelBg\": \"#111318\",\n \"labelColor\": \"#f2f2f2\",\n \"stripe\": \"#1a1c22\",\n \"summaryBg\": \"#23262d\",\n \"link\": \"#8b9cf0\",\n \"pos\": \"#3fd9b5\",\n \"neg\": \"#ff6b85\",\n \"posBg\": \"#11332b\",\n \"negBg\": \"#3d1621\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#1a1c22\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": true,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"left\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"4px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Short 4px red tag above title, flush-left lining figures, 1px ink label rule; hong-kong teal darkened.\"\n },\n \"espn-site\": {\n \"id\": \"espn-site\",\n \"theme\": \"espn-site\",\n \"source\": \"ESPN (BPI / FPI tables)\",\n \"category\": \"sports\",\n \"url\": \"https://www.espn.com/mens-college-basketball/bpi\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Stat tables measured light only; the ruled header band and grey figures translate to a neutral dark card.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 900,\n \"label\": \"Roboto\",\n \"labelWeight\": 600,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 22,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 12,\n \"source\": 12,\n \"padY\": 4,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#edeef0\",\n \"bg\": \"#ffffff\",\n \"text\": \"#2b2c2d\",\n \"muted\": \"#6c6d6f\",\n \"accent\": \"#dd0000\",\n \"rule\": \"#dcdddf\",\n \"hline\": \"#f1f2f3\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#48494a\",\n \"stripe\": \"#fafafa\",\n \"summaryBg\": \"#f1f2f3\",\n \"link\": \"#0066cc\",\n \"pos\": \"#007e38\",\n \"neg\": \"#d20000\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#151617\",\n \"bg\": \"#1d1e1f\",\n \"text\": \"#e6e7e8\",\n \"muted\": \"#a5a6a7\",\n \"accent\": \"#ff3b3b\",\n \"rule\": \"#3a3b3d\",\n \"hline\": \"#2a2b2c\",\n \"labelBg\": \"#1d1e1f\",\n \"labelColor\": \"#c8c9ca\",\n \"stripe\": \"#222324\",\n \"summaryBg\": \"#2a2b2c\",\n \"link\": \"#4da3ff\",\n \"pos\": \"#33cc77\",\n \"neg\": \"#ff5c5c\",\n \"posBg\": \"#13301f\",\n \"negBg\": \"#3a1616\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"1px solid {rule}\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {hline}\",\n \"stripe\": true,\n \"card\": true,\n \"cardRadius\": 4,\n \"spanners\": true,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"arrow\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Grey 12px tabular figures, uppercase header band ruled top and bottom, white card on #edeef0. pos/neg darkened for AA.\"\n },\n \"espncricinfo-statsguru\": {\n \"id\": \"espncricinfo-statsguru\",\n \"theme\": \"espncricinfo-statsguru\",\n \"source\": \"ESPNcricinfo Statsguru\",\n \"category\": \"sports\",\n \"url\": \"https://stats.espncricinfo.com/ci/engine/stats/index.html?class=1;template=results;type=batting\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Silver page, white panel and dotted rules are a 1999 print-web look; no dark.\",\n \"fonts\": {\n \"title\": \"PT Sans\",\n \"titleWeight\": 700,\n \"label\": \"PT Sans\",\n \"labelWeight\": 400,\n \"body\": \"PT Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"PT Sans\",\n \"subtitle\": \"PT Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 16,\n \"subtitle\": 12,\n \"label\": 11,\n \"body\": 11,\n \"source\": 10,\n \"padY\": 1,\n \"padX\": 3\n },\n \"light\": {\n \"page\": \"#c0c0c0\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#666666\",\n \"accent\": \"#0068c3\",\n \"rule\": \"#c6c6c6\",\n \"hline\": \"#c6c6c6\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#222222\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#0068c3\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px dotted {rule}\",\n \"rowRule\": \"1px dotted {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": true,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Tahoma-like 11px, unbolded labels, dotted row rules, silver page; densest rows here.\"\n },\n \"eurostat\": {\n \"id\": \"eurostat\",\n \"theme\": \"eurostat\",\n \"source\": \"Eurostat data browser\",\n \"category\": \"gov\",\n \"url\": \"https://ec.europa.eu/eurostat/databrowser/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#262b38\",\n \"muted\": \"#515560\",\n \"accent\": \"#0e47cb\",\n \"rule\": \"#222222\",\n \"hline\": \"#e3e3e3\",\n \"labelBg\": \"#e6edfa\",\n \"labelColor\": \"#0e47cb\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#7d9ff0\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#1a2540\",\n \"labelColor\": \"#9db7f0\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {accent}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"EU-blue header accents, flag letters : b e p u c beside values.\"\n },\n \"evanmiya\": {\n \"id\": \"evanmiya\",\n \"theme\": \"evanmiya\",\n \"source\": \"EvanMiya\",\n \"category\": \"sports\",\n \"url\": \"https://evanmiya.com/\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Measured dark content ground #11161c; card and ink tones estimated around it.\",\n \"fonts\": {\n \"title\": \"Chivo\",\n \"titleWeight\": 700,\n \"label\": \"Chivo\",\n \"labelWeight\": 700,\n \"body\": \"Noto Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"Noto Sans\",\n \"subtitle\": \"Noto Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 14,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 4,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#f4f6f4\",\n \"bg\": \"#ffffff\",\n \"text\": \"#1b1f24\",\n \"muted\": \"#6b7280\",\n \"accent\": \"#ff9d23\",\n \"rule\": \"#e5e5e5\",\n \"hline\": \"#e5e5e5\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#1b1f24\",\n \"stripe\": \"#f7f7f7\",\n \"summaryBg\": \"#f2f2f2\",\n \"link\": \"#242f3c\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#fff4e7\",\n \"heatMid\": \"#ffd8a7\",\n \"heatHigh\": \"#ff9d23\"\n },\n \"dark\": {\n \"page\": \"#11161c\",\n \"bg\": \"#19202a\",\n \"text\": \"#e3e6ea\",\n \"muted\": \"#9aa3ae\",\n \"accent\": \"#ff9d23\",\n \"rule\": \"#2c3542\",\n \"hline\": \"#2c3542\",\n \"labelBg\": \"#19202a\",\n \"labelColor\": \"#e3e6ea\",\n \"stripe\": \"#1d2530\",\n \"summaryBg\": \"#222b37\",\n \"link\": \"#8fb4e0\",\n \"pos\": \"#5fcf86\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#173323\",\n \"negBg\": \"#3d1d1d\",\n \"heatLow\": \"#2a2118\",\n \"heatMid\": \"#8a5718\",\n \"heatHigh\": \"#ff9d23\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": true,\n \"cardRadius\": 8,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"sequential\",\n \"heatColumns\": [\n \"pct\",\n \"net\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Single-hue orange heat (~110 steps) on white cards over a pale green-grey page.\"\n },\n \"evolving-hockey\": {\n \"id\": \"evolving-hockey\",\n \"theme\": \"evolving-hockey\",\n \"source\": \"Evolving-Hockey\",\n \"category\": \"sports\",\n \"url\": \"https://evolving-hockey.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Paywalled DataTables defaults; slab/serif identity survives on a neutral dark ground.\",\n \"fonts\": {\n \"title\": \"Roboto Slab\",\n \"titleWeight\": 700,\n \"label\": \"Roboto Slab\",\n \"labelWeight\": 700,\n \"body\": \"Crimson Text\",\n \"bodyWeight\": 400,\n \"numeric\": \"Crimson Text\",\n \"subtitle\": \"Crimson Text\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 14,\n \"label\": 13,\n \"body\": 15,\n \"source\": 12,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#777777\",\n \"accent\": \"#2a4d69\",\n \"rule\": \"#111111\",\n \"hline\": \"#dddddd\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f9f9f9\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#2a4d69\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#111214\",\n \"bg\": \"#18191b\",\n \"text\": \"#e2e2e2\",\n \"muted\": \"#9a9a9a\",\n \"accent\": \"#7fa7c9\",\n \"rule\": \"#bbbbbb\",\n \"hline\": \"#2e2f31\",\n \"labelBg\": \"#18191b\",\n \"labelColor\": \"#e2e2e2\",\n \"stripe\": \"#1e1f21\",\n \"summaryBg\": \"#26272a\",\n \"link\": \"#7fa7c9\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Roboto Slab + Crimson Text identity on stock DataTables striped rows. Not measured.\"\n },\n \"fangraphs\": {\n \"id\": \"fangraphs\",\n \"theme\": \"fangraphs\",\n \"source\": \"FanGraphs\",\n \"category\": \"sports\",\n \"url\": \"https://www.fangraphs.com/leaders/major-league?pos=all&stats=bat&type=8&season=2025&qual=y\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Dark mode partly measured (hover #333, sorted #999, group break #888); ground tones estimated.\",\n \"fonts\": {\n \"title\": \"Lato\",\n \"titleWeight\": 700,\n \"label\": \"Open Sans\",\n \"labelWeight\": 700,\n \"body\": \"Open Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"Open Sans\",\n \"subtitle\": \"Open Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 12,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#f0f0f0\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#666666\",\n \"accent\": \"#50ae26\",\n \"rule\": \"#333333\",\n \"hline\": \"#eeeeee\",\n \"labelBg\": \"#808080\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#f7f7f7\",\n \"summaryBg\": \"#dddddd\",\n \"link\": \"#3c7a1d\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1e1e1e\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a0a0a0\",\n \"accent\": \"#50ae26\",\n \"rule\": \"#888888\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#4d4d4d\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#242424\",\n \"summaryBg\": \"#333333\",\n \"link\": \"#7ccf55\",\n \"pos\": \"#6fd08a\",\n \"neg\": \"#ff8577\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3d1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {hline}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"3px solid {rule}\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Mid-grey header band with white bold labels, faint cell grid, thick 3px group-break rules.\"\n },\n \"fbref\": {\n \"id\": \"fbref\",\n \"theme\": \"fbref\",\n \"source\": \"FBref\",\n \"category\": \"sports\",\n \"url\": \"https://fbref.com/\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark original; the grey boxed grid and amber summary band survive inversion on a neutral near-black.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#c9cbcd\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#525456\",\n \"accent\": \"#01371a\",\n \"rule\": \"#747678\",\n \"hline\": \"#dddddd\",\n \"labelBg\": \"#eeeeee\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#ffc966\",\n \"link\": \"#3344dd\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#1b1c1d\",\n \"bg\": \"#121314\",\n \"text\": \"#ececec\",\n \"muted\": \"#a3a5a7\",\n \"accent\": \"#3fae6e\",\n \"rule\": \"#8a8c8e\",\n \"hline\": \"#3a3b3c\",\n \"labelBg\": \"#2a2b2c\",\n \"labelColor\": \"#ececec\",\n \"stripe\": \"#1a1b1c\",\n \"summaryBg\": \"#5c4310\",\n \"link\": \"#8f9bff\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px dotted {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"2px solid {rule}\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Grey boxed header, dotted row rules, column hairlines, amber league-average row; accent #01371a.\"\n },\n \"fbref-scouting-report\": {\n \"id\": \"fbref-scouting-report\",\n \"theme\": \"fbref-scouting-report\",\n \"source\": \"FBref scouting report\",\n \"category\": \"sports\",\n \"url\": \"https://fbref.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Shares sr-min.css; percentile bars unmeasured, dark derived like the SR family.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#c9cbcd\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#525456\",\n \"accent\": \"#01371a\",\n \"rule\": \"#747678\",\n \"hline\": \"#dddddd\",\n \"labelBg\": \"#eeeeee\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#eeeeee\",\n \"link\": \"#3344dd\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f2f7f3\",\n \"heatMid\": \"#9fcfae\",\n \"heatHigh\": \"#3a8f5c\"\n },\n \"dark\": {\n \"page\": \"#1b1c1d\",\n \"bg\": \"#121314\",\n \"text\": \"#ececec\",\n \"muted\": \"#a3a5a7\",\n \"accent\": \"#3fae6e\",\n \"rule\": \"#8a8c8e\",\n \"hline\": \"#3a3b3c\",\n \"labelBg\": \"#2a2b2c\",\n \"labelColor\": \"#ececec\",\n \"stripe\": \"#1a1b1c\",\n \"summaryBg\": \"#2a2b2c\",\n \"link\": \"#8f9bff\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#1a2a20\",\n \"heatMid\": \"#2f6a45\",\n \"heatHigh\": \"#4fbf7c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px dotted {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"sequential\",\n \"heatColumns\": [\n \"pct\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"SR grid plus per-90 percentile bars; bar colours not measured, sequential green assumed.\"\n },\n \"financial-times\": {\n \"id\": \"financial-times\",\n \"theme\": \"financial-times\",\n \"source\": \"Financial Times (o-table core)\",\n \"category\": \"news\",\n \"url\": \"https://www.npmjs.com/package/@financial-times/o-table/v/10.0.2\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"The identity is salmon paper with wheat stripes; it has no meaning on a dark ground.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 600,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 14,\n \"label\": 14,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 6,\n \"padX\": 10\n },\n \"light\": {\n \"page\": \"#fff1e5\",\n \"bg\": \"#fff1e5\",\n \"text\": \"#33302e\",\n \"muted\": \"#66605c\",\n \"accent\": \"#990f3d\",\n \"rule\": \"#33302e\",\n \"hline\": \"#ccc1b7\",\n \"labelBg\": \"#fff1e5\",\n \"labelColor\": \"#33302e\",\n \"stripe\": \"#faeadc\",\n \"summaryBg\": \"#f2dfce\",\n \"link\": \"#0d7680\",\n \"pos\": \"#0b6b3a\",\n \"neg\": \"#a6192e\",\n \"posBg\": \"#e3eedb\",\n \"negBg\": \"#f7dcd5\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fff1e5\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Paper #FFF1E5, wheat-40% stripes, 2px ink label rule, sentence-case semibold sans; ink/claret hexes estimated.\"\n },\n \"financial-times-bordered\": {\n \"id\": \"financial-times-bordered\",\n \"theme\": \"financial-times-bordered\",\n \"source\": \"Financial Times (o-table lines + bordered)\",\n \"category\": \"news\",\n \"url\": \"https://www.npmjs.com/package/@financial-times/o-table/v/10.0.2\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Ruled grid on salmon paper; the paper ground is the identity.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 600,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 14,\n \"label\": 14,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 4,\n \"padX\": 10\n },\n \"light\": {\n \"page\": \"#fff1e5\",\n \"bg\": \"#fff1e5\",\n \"text\": \"#33302e\",\n \"muted\": \"#66605c\",\n \"accent\": \"#990f3d\",\n \"rule\": \"#33302e\",\n \"hline\": \"#ccc1b7\",\n \"labelBg\": \"#fff1e5\",\n \"labelColor\": \"#33302e\",\n \"stripe\": \"#faeadc\",\n \"summaryBg\": \"#f2dfce\",\n \"link\": \"#0d7680\",\n \"pos\": \"#0b6b3a\",\n \"neg\": \"#a6192e\",\n \"posBg\": \"#e3eedb\",\n \"negBg\": \"#f7dcd5\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fff1e5\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Lines + bordered variants: black-20 row and column rules on paper, compact 4px 10px padding.\"\n },\n \"financial-times-internal\": {\n \"id\": \"financial-times-internal\",\n \"theme\": \"financial-times-internal\",\n \"source\": \"Financial Times (o-table internal brand)\",\n \"category\": \"news\",\n \"url\": \"https://www.npmjs.com/package/@financial-times/o-table/v/10.0.2\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"White-and-slate internal brand has no paper dependency, so it inverts to a slate-biased near-black.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 600,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 14,\n \"label\": 14,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 6,\n \"padX\": 10\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#262a33\",\n \"muted\": \"#5f636b\",\n \"accent\": \"#0d7680\",\n \"rule\": \"#262a33\",\n \"hline\": \"#d4d4d6\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#262a33\",\n \"stripe\": \"#f4f4f5\",\n \"summaryBg\": \"#e9eaeb\",\n \"link\": \"#0d7680\",\n \"pos\": \"#0b6b3a\",\n \"neg\": \"#a6192e\",\n \"posBg\": \"#e3f1e7\",\n \"negBg\": \"#fbe3e6\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#14161b\",\n \"bg\": \"#14161b\",\n \"text\": \"#e6e7ea\",\n \"muted\": \"#a2a6ae\",\n \"accent\": \"#3fb6c0\",\n \"rule\": \"#cfd1d6\",\n \"hline\": \"#30343d\",\n \"labelBg\": \"#14161b\",\n \"labelColor\": \"#e6e7ea\",\n \"stripe\": \"#1b1e24\",\n \"summaryBg\": \"#252931\",\n \"link\": \"#4fc4ce\",\n \"pos\": \"#5cc27a\",\n \"neg\": \"#ff7a85\",\n \"posBg\": \"#16301f\",\n \"negBg\": \"#3d1a20\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#1b1e24\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Internal brand: white ground, slate-white-5 stripes, same 2px ink label rule; slate hexes estimated.\"\n },\n \"finviz\": {\n \"id\": \"finviz\",\n \"theme\": \"finviz\",\n \"source\": \"Finviz screener\",\n \"category\": \"finance\",\n \"url\": \"https://finviz.com/screener.ashx?v=111\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Finviz ships dark tokens (positive green-300, negative red-300).\",\n \"fonts\": {\n \"title\": \"IBM Plex Sans\",\n \"titleWeight\": 600,\n \"label\": \"IBM Plex Sans\",\n \"labelWeight\": 500,\n \"body\": \"IBM Plex Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"IBM Plex Sans\",\n \"subtitle\": \"IBM Plex Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 14,\n \"subtitle\": 13,\n \"label\": 10,\n \"body\": 11,\n \"source\": 11,\n \"padY\": 3,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#f0f3fa\",\n \"bg\": \"#ffffff\",\n \"text\": \"#14161d\",\n \"muted\": \"#676f85\",\n \"accent\": \"#306dca\",\n \"rule\": \"#c3c6d0\",\n \"hline\": \"#dedfe5\",\n \"labelBg\": \"#f3f3f5\",\n \"labelColor\": \"#676f85\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#306dca\",\n \"pos\": \"#187d3b\",\n \"neg\": \"#ce1c29\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fde8e9\",\n \"heatLow\": \"#f63538\",\n \"heatMid\": \"#414554\",\n \"heatHigh\": \"#30cc5a\"\n },\n \"dark\": {\n \"page\": \"#0e1016\",\n \"bg\": \"#14161d\",\n \"text\": \"#dedfe5\",\n \"muted\": \"#a3a8b8\",\n \"accent\": \"#57aefb\",\n \"rule\": \"#3a3e4a\",\n \"hline\": \"#262a33\",\n \"labelBg\": \"#1c1f27\",\n \"labelColor\": \"#a3a8b8\",\n \"stripe\": \"#181b22\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#57aefb\",\n \"pos\": \"#34c062\",\n \"neg\": \"#fd8487\",\n \"posBg\": \"#0f2e1a\",\n \"negBg\": \"#3a1517\",\n \"heatLow\": \"#f63538\",\n \"heatMid\": \"#414554\",\n \"heatHigh\": \"#30cc5a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"sequential\",\n \"heatColumns\": [\n \"net\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Hyper-dense IBM Plex grid, coloured numbers, treemap red-grey-green; red/blue CVD toggle. pos/neg AA-adjusted.\"\n },\n \"fivethirtyeight-site\": {\n \"id\": \"fivethirtyeight-site\",\n \"theme\": \"fivethirtyeight-site\",\n \"source\": \"FiveThirtyEight (forecast tables)\",\n \"category\": \"news\",\n \"url\": \"https://web.archive.org/web/2022/https://projects.fivethirtyeight.com/2022-nfl-predictions/\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Mono figures and faint rules carry over to a neutral near-black; pill tints re-based on the dark ground.\",\n \"fonts\": {\n \"title\": \"Inter\",\n \"titleWeight\": 700,\n \"label\": \"Inter\",\n \"labelWeight\": 400,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"DM Mono\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 22,\n \"subtitle\": 14,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 11,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#767676\",\n \"accent\": \"#ff2700\",\n \"rule\": \"#222222\",\n \"hline\": \"#f0f0f0\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#222222\",\n \"stripe\": \"#f7f7f7\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#222222\",\n \"pos\": \"#1f5a1e\",\n \"neg\": \"#7a1200\",\n \"posBg\": \"#a2d5a1\",\n \"negBg\": \"#ff9380\",\n \"heatLow\": \"#f7fbf6\",\n \"heatMid\": \"#b5dcb4\",\n \"heatHigh\": \"#44ab43\"\n },\n \"dark\": {\n \"page\": \"#161616\",\n \"bg\": \"#161616\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#9a9a9a\",\n \"accent\": \"#ff5a3a\",\n \"rule\": \"#cfcfcf\",\n \"hline\": \"#2a2a2a\",\n \"labelBg\": \"#161616\",\n \"labelColor\": \"#e8e8e8\",\n \"stripe\": \"#1d1d1d\",\n \"summaryBg\": \"#262626\",\n \"link\": \"#e8e8e8\",\n \"pos\": \"#8fdc8e\",\n \"neg\": \"#ff9a85\",\n \"posBg\": \"#24461f\",\n \"negBg\": \"#4a1f17\",\n \"heatLow\": \"#1c1f1c\",\n \"heatMid\": \"#2d5a2c\",\n \"heatHigh\": \"#44ab43\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0.02em\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"2px solid {rule}\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 4,\n \"cutRule\": \"2px solid {rule}\",\n \"delta\": \"pill\",\n \"heat\": \"sequential\",\n \"heatColumns\": [\n \"pct\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": true\n },\n \"notes\": \"Mono figures, 11px light uppercase labels on 2px #222, #f0f0f0 rows, pill deltas; pill text darkened for AA.\"\n },\n \"formula1\": {\n \"id\": \"formula1\",\n \"theme\": \"formula1\",\n \"source\": \"Formula 1\",\n \"category\": \"sports\",\n \"url\": \"https://www.formula1.com/en/results/2025/drivers\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Measured --f1rd dark tokens: #000 surface, #303037 rows, #606066 header rule, #f7f4f1 ink.\",\n \"fonts\": {\n \"title\": \"Titillium Web\",\n \"titleWeight\": 900,\n \"label\": \"Titillium Web\",\n \"labelWeight\": 600,\n \"body\": \"Titillium Web\",\n \"bodyWeight\": 600,\n \"numeric\": \"Titillium Web\",\n \"subtitle\": \"Titillium Web\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 22,\n \"subtitle\": 14,\n \"label\": 12,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 16,\n \"padX\": 16\n },\n \"light\": {\n \"page\": \"#f0efee\",\n \"bg\": \"#ffffff\",\n \"text\": \"#15151e\",\n \"muted\": \"#606066\",\n \"accent\": \"#e10600\",\n \"rule\": \"#aaaaaa\",\n \"hline\": \"#e0dedc\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#606066\",\n \"stripe\": \"#f7f4f1\",\n \"summaryBg\": \"#f7f4f1\",\n \"link\": \"#15151e\",\n \"pos\": \"#17692f\",\n \"neg\": \"#d00600\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#15151e\",\n \"bg\": \"#000000\",\n \"text\": \"#f7f4f1\",\n \"muted\": \"#aaaaaa\",\n \"accent\": \"#e10600\",\n \"rule\": \"#606066\",\n \"hline\": \"#303037\",\n \"labelBg\": \"#000000\",\n \"labelColor\": \"#aaaaaa\",\n \"stripe\": \"#0e0e12\",\n \"summaryBg\": \"#1a1a21\",\n \"link\": \"#f7f4f1\",\n \"pos\": \"#5fd38a\",\n \"neg\": \"#ff5a4f\",\n \"posBg\": \"#12301e\",\n \"negBg\": \"#3d1210\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"uppercase\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": true,\n \"cardRadius\": 8,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"All-semibold Titillium, uppercase grey labels, 2px header rule, warm hairlines, rounded card. neg darkened for AA.\"\n },\n \"fotmob\": {\n \"id\": \"fotmob\",\n \"theme\": \"fotmob\",\n \"source\": \"FotMob\",\n \"category\": \"sports\",\n \"url\": \"https://www.fotmob.com/leagues/47/stats/premier-league\",\n \"evidence\": \"partial\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Dark tokens measured: #000 page, #1d1d1d card, #333 hover; dark mode is first-class.\",\n \"fonts\": {\n \"title\": \"Inter\",\n \"titleWeight\": 700,\n \"label\": \"Inter\",\n \"labelWeight\": 500,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 12,\n \"padY\": 8,\n \"padX\": 10\n },\n \"light\": {\n \"page\": \"#fafafa\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#717171\",\n \"accent\": \"#00985f\",\n \"rule\": \"#dedede\",\n \"hline\": \"#f0f0f0\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#717171\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#fafafa\",\n \"link\": \"#00985f\",\n \"pos\": \"#007d4e\",\n \"neg\": \"#cc2626\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#dd3636\",\n \"heatMid\": \"#f08022\",\n \"heatHigh\": \"#00985f\"\n },\n \"dark\": {\n \"page\": \"#000000\",\n \"bg\": \"#1d1d1d\",\n \"text\": \"#ffffff\",\n \"muted\": \"#9a9a9a\",\n \"accent\": \"#61df6e\",\n \"rule\": \"#333333\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#1d1d1d\",\n \"labelColor\": \"#9a9a9a\",\n \"stripe\": \"#262626\",\n \"summaryBg\": \"#262626\",\n \"link\": \"#61df6e\",\n \"pos\": \"#61df6e\",\n \"neg\": \"#ff5c5c\",\n \"posBg\": \"#1f3a26\",\n \"negBg\": \"#3d1d1d\",\n \"heatLow\": \"#dd3636\",\n \"heatMid\": \"#f08022\",\n \"heatHigh\": \"#00985f\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": true,\n \"cardRadius\": 10,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 4,\n \"cutRule\": \"2px solid {accent}\",\n \"delta\": \"pill\",\n \"heat\": \"grade-bands\",\n \"heatColumns\": [\n \"pct\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"Inter alternates on white cards, faint rules, zone cut and rating-band pills. pos/neg darkened for AA.\"\n },\n \"ft-markets-data\": {\n \"id\": \"ft-markets-data\",\n \"theme\": \"ft-markets-data\",\n \"source\": \"FT markets data\",\n \"category\": \"finance\",\n \"url\": \"https://markets.ft.com/data\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Salmon #FFF1E5 paper is the identity; no dark.\",\n \"fonts\": {\n \"title\": \"Libre Franklin\",\n \"titleWeight\": 600,\n \"label\": \"Libre Franklin\",\n \"labelWeight\": 400,\n \"body\": \"Libre Franklin\",\n \"bodyWeight\": 400,\n \"numeric\": \"Barlow\",\n \"subtitle\": \"Libre Franklin\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#fff1e5\",\n \"bg\": \"#fff1e5\",\n \"text\": \"#33302e\",\n \"muted\": \"#66605c\",\n \"accent\": \"#0d7680\",\n \"rule\": \"#33302e\",\n \"hline\": \"#e6d9ce\",\n \"labelBg\": \"#fff1e5\",\n \"labelColor\": \"#66605c\",\n \"stripe\": \"#f2dfce\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#0d7680\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#d8ece1\",\n \"negBg\": \"#f6dcd6\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": true\n },\n \"notes\": \"Delta vs broadsheet: Metric-sans numbers, teal #0D7680 accent on salmon.\"\n },\n \"gov-uk\": {\n \"id\": \"gov-uk\",\n \"theme\": \"gov-uk\",\n \"source\": \"GOV.UK Design System table\",\n \"category\": \"gov\",\n \"url\": \"https://github.com/alphagov/govuk-frontend/blob/main/packages/govuk-frontend/src/govuk/components/table/_mixin.scss\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 36,\n \"subtitle\": 13,\n \"label\": 19,\n \"body\": 19,\n \"source\": 11,\n \"padY\": 10,\n \"padX\": 20\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#0b0c0c\",\n \"muted\": \"#484949\",\n \"accent\": \"#1d70b8\",\n \"rule\": \"#b1b4b6\",\n \"hline\": \"#b1b4b6\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#0b0c0c\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f3f2f1\",\n \"link\": \"#1d70b8\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#f3f2f1\",\n \"muted\": \"#b1b4b6\",\n \"accent\": \"#5694ca\",\n \"rule\": \"#505a5f\",\n \"hline\": \"#505a5f\",\n \"labelBg\": \"#1a1a1a\",\n \"labelColor\": \"#f3f2f1\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#5694ca\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Giant bold caption, flush-left first column, 1px bottom rules, tnum.\"\n },\n \"great-tables-stylize-1\": {\n \"id\": \"great-tables-stylize-1\",\n \"theme\": \"great-tables-stylize-1\",\n \"source\": \"great_tables opt_stylize style 1 (blue)\",\n \"category\": \"library\",\n \"url\": \"https://github.com/posit-dev/great-tables/blob/main/great_tables/_options.py\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Source Sans 3\",\n \"titleWeight\": 600,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#666666\",\n \"accent\": \"#004d80\",\n \"rule\": \"#0076ba\",\n \"hline\": \"#89d3fe\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#333333\",\n \"stripe\": \"#f4f4f4\",\n \"summaryBg\": \"#edf7fc\",\n \"link\": \"#0076ba\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#89d3fe\",\n \"rule\": \"#00a1ff\",\n \"hline\": \"#1f3c52\",\n \"labelBg\": \"#1a1a1a\",\n \"labelColor\": \"#a8a8a8\",\n \"stripe\": \"#1f2328\",\n \"summaryBg\": \"#16293a\",\n \"link\": \"#89d3fe\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"2px solid {accent}\",\n \"tableBorderBottom\": \"2px solid {accent}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"White labels, coloured outer rules #004D80, light-blue #89D3FE data rules, tinted grand summary.\"\n },\n \"great-tables-stylize-2\": {\n \"id\": \"great-tables-stylize-2\",\n \"theme\": \"great-tables-stylize-2\",\n \"source\": \"great_tables opt_stylize style 2 (green)\",\n \"category\": \"library\",\n \"url\": \"https://github.com/posit-dev/great-tables/blob/main/great_tables/_options.py\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Source Sans 3\",\n \"titleWeight\": 600,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#666666\",\n \"accent\": \"#027101\",\n \"rule\": \"#027101\",\n \"hline\": \"#caffaf\",\n \"labelBg\": \"#027101\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#f4f4f4\",\n \"summaryBg\": \"#caffaf\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#89fd61\",\n \"rule\": \"#038901\",\n \"hline\": \"#24401c\",\n \"labelBg\": \"#027101\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#1f241d\",\n \"summaryBg\": \"#1e3a14\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Dark filled label band #027101, solid light-green h+v data rules, tinted summary rows.\"\n },\n \"great-tables-stylize-3\": {\n \"id\": \"great-tables-stylize-3\",\n \"theme\": \"great-tables-stylize-3\",\n \"source\": \"great_tables opt_stylize style 3 (cyan)\",\n \"category\": \"library\",\n \"url\": \"https://github.com/posit-dev/great-tables/blob/main/great_tables/_options.py\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Source Sans 3\",\n \"titleWeight\": 600,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#666666\",\n \"accent\": \"#016763\",\n \"rule\": \"#929292\",\n \"hline\": \"#929292\",\n \"labelBg\": \"#016763\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#f4f4f4\",\n \"summaryBg\": \"#d5d5d5\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#7fe9db\",\n \"rule\": \"#5f5f5f\",\n \"hline\": \"#5f5f5f\",\n \"labelBg\": \"#016763\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#222626\",\n \"summaryBg\": \"#333333\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"1px dashed {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Lab-notebook: dark cyan labels, grey #929292 frame, dashed grey data hlines.\"\n },\n \"great-tables-stylize-4\": {\n \"id\": \"great-tables-stylize-4\",\n \"theme\": \"great-tables-stylize-4\",\n \"source\": \"great_tables opt_stylize style 4 (pink)\",\n \"category\": \"library\",\n \"url\": \"https://github.com/posit-dev/great-tables/blob/main/great_tables/_options.py\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Source Sans 3\",\n \"titleWeight\": 600,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#666666\",\n \"accent\": \"#cb2a7b\",\n \"rule\": \"#d5d5d5\",\n \"hline\": \"#d5d5d5\",\n \"labelBg\": \"#cb2a7b\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#f4f4f4\",\n \"summaryBg\": \"#ffc6e3\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#ef5fa7\",\n \"rule\": \"#444444\",\n \"hline\": \"#444444\",\n \"labelBg\": \"#99195f\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#26201f\",\n \"summaryBg\": \"#3d1a2c\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"1px dashed {hline}\",\n \"colRule\": \"1px dashed {hline}\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Mid-tone pink filled labels #CB2A7B, dashed #D5D5D5 grid both directions.\"\n },\n \"great-tables-stylize-5\": {\n \"id\": \"great-tables-stylize-5\",\n \"theme\": \"great-tables-stylize-5\",\n \"source\": \"great_tables opt_stylize style 5 (gray)\",\n \"category\": \"library\",\n \"url\": \"https://github.com/posit-dev/great-tables/blob/main/great_tables/_options.py\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Source Sans 3\",\n \"titleWeight\": 600,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#666666\",\n \"accent\": \"#000000\",\n \"rule\": \"#d5d5d5\",\n \"hline\": \"#d5d5d5\",\n \"labelBg\": \"#000000\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#f4f4f4\",\n \"summaryBg\": \"#d5d5d5\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#d5d5d5\",\n \"rule\": \"#444444\",\n \"hline\": \"#444444\",\n \"labelBg\": \"#000000\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#5f5f5f\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Black labels, solid #D5D5D5 grid; real gt inverts summaries to #5F5F5F/white.\"\n },\n \"great-tables-stylize-6\": {\n \"id\": \"great-tables-stylize-6\",\n \"theme\": \"great-tables-stylize-6\",\n \"source\": \"great_tables opt_stylize style 6 (red)\",\n \"category\": \"library\",\n \"url\": \"https://github.com/posit-dev/great-tables/blob/main/great_tables/_options.py\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Source Sans 3\",\n \"titleWeight\": 600,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#666666\",\n \"accent\": \"#e4220c\",\n \"rule\": \"#5f5f5f\",\n \"hline\": \"#ffccc7\",\n \"labelBg\": \"#e4220c\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#feedec\",\n \"summaryBg\": \"#ffccc7\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#ff644e\",\n \"rule\": \"#929292\",\n \"hline\": \"#4a2622\",\n \"labelBg\": \"#a81600\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#2a1d1c\",\n \"summaryBg\": \"#4a2622\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"Mid-red labels, #5F5F5F frame, tinted #FEEDEC stripe instead of grey.\"\n },\n \"gtextras-538\": {\n \"id\": \"gtextras-538\",\n \"theme\": \"gtextras-538\",\n \"source\": \"gtExtras gt_theme_538\",\n \"category\": \"library\",\n \"url\": \"https://github.com/jthomasmock/gtExtras/tree/master/R\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Chivo\",\n \"titleWeight\": 700,\n \"label\": \"Cairo\",\n \"labelWeight\": 200,\n \"body\": \"Cairo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Cairo\",\n \"subtitle\": \"Chivo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 14,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 3,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#666666\",\n \"accent\": \"#c70000\",\n \"rule\": \"#000000\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#222222\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#7fb2ff\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#1a1a1a\",\n \"labelBg\": \"#1a1a1a\",\n \"labelColor\": \"#e8e8e8\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"1px solid {rule}\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Cairo body, Chivo 200 caps labels on 2px black rule, dense 3px padding.\"\n },\n \"gtextras-dark\": {\n \"id\": \"gtextras-dark\",\n \"theme\": \"gtextras-dark\",\n \"source\": \"gtExtras gt_theme_dark\",\n \"category\": \"library\",\n \"url\": \"https://github.com/jthomasmock/gtExtras/tree/master/R\",\n \"evidence\": \"measured\",\n \"mode\": \"dark\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Ships dark only (#333333); light palette is a derived inversion.\",\n \"fonts\": {\n \"title\": \"Libre Franklin\",\n \"titleWeight\": 800,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 400,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 7,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#666666\",\n \"accent\": \"#c70000\",\n \"rule\": \"#222222\",\n \"hline\": \"#e5e5e5\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#222222\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#333333\",\n \"bg\": \"#333333\",\n \"text\": \"#ffffff\",\n \"muted\": \"#cccccc\",\n \"accent\": \"#7fb2ff\",\n \"rule\": \"#ffffff\",\n \"hline\": \"#4a4a4a\",\n \"labelBg\": \"#333333\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#3b3b3b\",\n \"summaryBg\": \"#444444\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#1e3d26\",\n \"negBg\": \"#4a2220\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"3px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"#333333 slab, white caps labels over 3px white rule, Franklin 800 title.\"\n },\n \"gtextras-dot-matrix\": {\n \"id\": \"gtextras-dot-matrix\",\n \"theme\": \"gtextras-dot-matrix\",\n \"source\": \"gtExtras gt_theme_dot_matrix\",\n \"category\": \"library\",\n \"url\": \"https://github.com/jthomasmock/gtExtras/tree/master/R\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Green-bar continuous-form paper; meaningless on a dark ground.\",\n \"fonts\": {\n \"title\": \"Courier Prime\",\n \"titleWeight\": 700,\n \"label\": \"Courier Prime\",\n \"labelWeight\": 400,\n \"body\": \"Courier Prime\",\n \"bodyWeight\": 400,\n \"numeric\": \"Courier Prime\",\n \"subtitle\": \"Courier Prime\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 1,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#333333\",\n \"accent\": \"#c70000\",\n \"rule\": \"#000000\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#b5dbb6\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#16662e\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#b5dbb6\",\n \"negBg\": \"#b5dbb6\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": true\n },\n \"notes\": \"Courier lowercase labels, green-bar #B5DBB6 stripe, no rules, 1px padding. pos/neg AA-adjusted.\"\n },\n \"gtextras-espn\": {\n \"id\": \"gtextras-espn\",\n \"theme\": \"gtextras-espn\",\n \"source\": \"gtExtras gt_theme_espn\",\n \"category\": \"library\",\n \"url\": \"https://github.com/jthomasmock/gtExtras/tree/master/R\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Lato\",\n \"titleWeight\": 700,\n \"label\": \"Lato\",\n \"labelWeight\": 700,\n \"body\": \"Lato\",\n \"bodyWeight\": 400,\n \"numeric\": \"Lato\",\n \"subtitle\": \"Lato\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 24,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 16,\n \"source\": 11,\n \"padY\": 7,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#6c6d6f\",\n \"accent\": \"#222222\",\n \"rule\": \"#222222\",\n \"hline\": \"#f6f7f7\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#222222\",\n \"stripe\": \"#fafafa\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#7fb2ff\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#2a2a2a\",\n \"labelBg\": \"#1a1a1a\",\n \"labelColor\": \"#e8e8e8\",\n \"stripe\": \"#202020\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"uppercase\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {hline}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"All-caps everything, near-invisible #F6F7F7 rules, #FAFAFA stripe, 7px padding.\"\n },\n \"gtextras-excel\": {\n \"id\": \"gtextras-excel\",\n \"theme\": \"gtextras-excel\",\n \"source\": \"gtExtras gt_theme_excel\",\n \"category\": \"library\",\n \"url\": \"https://github.com/jthomasmock/gtExtras/tree/master/R\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Carlito\",\n \"titleWeight\": 700,\n \"label\": \"Carlito\",\n \"labelWeight\": 700,\n \"body\": \"Carlito\",\n \"bodyWeight\": 400,\n \"numeric\": \"Carlito\",\n \"subtitle\": \"Carlito\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#666666\",\n \"accent\": \"#c70000\",\n \"rule\": \"#000000\",\n \"hline\": \"#000000\",\n \"labelBg\": \"#000000\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#d3d3d3\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#7fb2ff\",\n \"rule\": \"#bfbfbf\",\n \"hline\": \"#5a5a5a\",\n \"labelBg\": \"#000000\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#2a2a2a\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"2px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Calibri full 1px black cell grid, 2px frame, black label row, lightgrey zebra.\"\n },\n \"gtextras-guardian\": {\n \"id\": \"gtextras-guardian\",\n \"theme\": \"gtextras-guardian\",\n \"source\": \"gtExtras gt_theme_guardian\",\n \"category\": \"library\",\n \"url\": \"https://github.com/jthomasmock/gtExtras/tree/master/R\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Noto Sans\",\n \"titleWeight\": 700,\n \"label\": \"Noto Sans\",\n \"labelWeight\": 400,\n \"body\": \"Noto Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"Noto Sans\",\n \"subtitle\": \"Noto Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 22,\n \"subtitle\": 16,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#f6f6f6\",\n \"bg\": \"#f6f6f6\",\n \"text\": \"#121212\",\n \"muted\": \"#666666\",\n \"accent\": \"#005689\",\n \"rule\": \"#ececec\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#f6f6f6\",\n \"labelColor\": \"#121212\",\n \"stripe\": \"#ececec\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#005689\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#1c1c1c\",\n \"bg\": \"#1c1c1c\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#40c5ff\",\n \"rule\": \"#2e2e2e\",\n \"hline\": \"#111111\",\n \"labelBg\": \"#1c1c1c\",\n \"labelColor\": \"#a8a8a8\",\n \"stripe\": \"#262626\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#40c5ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"1px solid #40c5ff\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Grey #F6F6F6 table, #ECECEC stripe, white hlines, #005689 title, cyan top rule.\"\n },\n \"gtextras-nytimes\": {\n \"id\": \"gtextras-nytimes\",\n \"theme\": \"gtextras-nytimes\",\n \"source\": \"gtExtras gt_theme_nytimes\",\n \"category\": \"library\",\n \"url\": \"https://github.com/jthomasmock/gtExtras/tree/master/R\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Libre Franklin\",\n \"titleWeight\": 800,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 400,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 7,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#a9a9a9\",\n \"accent\": \"#c70000\",\n \"rule\": \"#334422\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#a9a9a9\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#7fb2ff\",\n \"rule\": \"#8a9a7a\",\n \"hline\": \"#1a1a1a\",\n \"labelBg\": \"#1a1a1a\",\n \"labelColor\": \"#a9a9a9\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Franklin 800 title, tiny darkgrey caps labels over olive-black #334422 rule, no body rules.\"\n },\n \"gtextras-pff\": {\n \"id\": \"gtextras-pff\",\n \"theme\": \"gtextras-pff\",\n \"source\": \"gtExtras gt_theme_pff\",\n \"category\": \"library\",\n \"url\": \"https://github.com/jthomasmock/gtExtras/tree/master/R\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 700,\n \"label\": \"Roboto\",\n \"labelWeight\": 700,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 30,\n \"subtitle\": 16,\n \"label\": 10,\n \"body\": 12,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#878e94\",\n \"accent\": \"#c70000\",\n \"rule\": \"#212426\",\n \"hline\": \"#d3d3d3\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#878e94\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a6acb1\",\n \"accent\": \"#7fb2ff\",\n \"rule\": \"#a6acb1\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#1a1a1a\",\n \"labelColor\": \"#a6acb1\",\n \"stripe\": \"#222426\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"1px solid {hline}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Roboto 12px, grey spanner chips #F5F5F5/#878E94 with white gaps, no hlines.\"\n },\n \"guardian\": {\n \"id\": \"guardian\",\n \"theme\": \"guardian\",\n \"source\": \"The Guardian\",\n \"category\": \"news\",\n \"url\": \"https://www.theguardian.com/football/premierleague/table\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Grey-panel zebra survives as a dark blue-grey panel; the pillar cyan top rule keeps its hue on dark.\",\n \"fonts\": {\n \"title\": \"Roboto Slab\",\n \"titleWeight\": 700,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 800,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 14,\n \"label\": 14,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 8,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#f6f6f6\",\n \"text\": \"#121212\",\n \"muted\": \"#707070\",\n \"accent\": \"#00b2ff\",\n \"rule\": \"#121212\",\n \"hline\": \"#dcdcdc\",\n \"labelBg\": \"#f6f6f6\",\n \"labelColor\": \"#121212\",\n \"stripe\": \"#ededed\",\n \"summaryBg\": \"#dcdcdc\",\n \"link\": \"#0077b6\",\n \"pos\": \"#1b6e3e\",\n \"neg\": \"#c70000\",\n \"posBg\": \"#dcefe2\",\n \"negBg\": \"#fbe3e3\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#0b0d10\",\n \"bg\": \"#1a1c1f\",\n \"text\": \"#ededed\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#00b2ff\",\n \"rule\": \"#dcdcdc\",\n \"hline\": \"#3a3d42\",\n \"labelBg\": \"#1a1c1f\",\n \"labelColor\": \"#ededed\",\n \"stripe\": \"#22252a\",\n \"summaryBg\": \"#2c3036\",\n \"link\": \"#4fc3ff\",\n \"pos\": \"#4cc97f\",\n \"neg\": \"#ff6b6b\",\n \"posBg\": \"#173324\",\n \"negBg\": \"#3d1a1a\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#22252a\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"left\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"1px solid {accent}\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": true,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"1px dashed {rule}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"Grey-on-grey zebra panel, 800 sentence-case labels, thin sport-cyan top rule; success green darkened to #1b6e3e.\"\n },\n \"harpers-index\": {\n \"id\": \"harpers-index\",\n \"theme\": \"harpers-index\",\n \"source\": \"Harper's Magazine (Harper's Index)\",\n \"category\": \"periodical\",\n \"url\": \"https://harpers.org/harpers-index/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Libre Caslon Text\",\n \"titleWeight\": 700,\n \"label\": \"Libre Caslon Text\",\n \"labelWeight\": 400,\n \"body\": \"Libre Caslon Text\",\n \"bodyWeight\": 400,\n \"numeric\": \"Libre Caslon Text\",\n \"subtitle\": \"Libre Caslon Text\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 8,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#1a1a1a\",\n \"muted\": \"#555555\",\n \"accent\": \"#1a1a1a\",\n \"rule\": \"#1a1a1a\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#1a1a1a\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Ledger list, not grid: numbered statement plus number, no rules.\"\n },\n \"hockey-reference\": {\n \"id\": \"hockey-reference\",\n \"theme\": \"hockey-reference\",\n \"source\": \"Hockey-Reference\",\n \"category\": \"sports\",\n \"url\": \"https://www.hockey-reference.com/\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark original; the grey boxed grid and amber summary band survive inversion on a neutral near-black.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#c9cbcd\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#525456\",\n \"accent\": \"#0b6186\",\n \"rule\": \"#747678\",\n \"hline\": \"#dddddd\",\n \"labelBg\": \"#eeeeee\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#ffc966\",\n \"link\": \"#3344dd\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#1b1c1d\",\n \"bg\": \"#121314\",\n \"text\": \"#ececec\",\n \"muted\": \"#a3a5a7\",\n \"accent\": \"#4fb3dc\",\n \"rule\": \"#8a8c8e\",\n \"hline\": \"#3a3b3c\",\n \"labelBg\": \"#2a2b2c\",\n \"labelColor\": \"#ececec\",\n \"stripe\": \"#1a1b1c\",\n \"summaryBg\": \"#5c4310\",\n \"link\": \"#8f9bff\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px dotted {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"2px solid {rule}\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Grey boxed header, dotted row rules, column hairlines, amber league-average row; accent #0b6186.\"\n },\n \"hockeyviz\": {\n \"id\": \"hockeyviz\",\n \"theme\": \"hockeyviz\",\n \"source\": \"HockeyViz\",\n \"category\": \"sports\",\n \"url\": \"https://hockeyviz.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Bootstrap 5 defaults; BS5's own dark tokens give a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Inter\",\n \"titleWeight\": 700,\n \"label\": \"Inter\",\n \"labelWeight\": 700,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#212529\",\n \"muted\": \"#6c757d\",\n \"accent\": \"#0d6efd\",\n \"rule\": \"#212529\",\n \"hline\": \"#dee2e6\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#212529\",\n \"stripe\": \"#f2f2f2\",\n \"summaryBg\": \"#e9ecef\",\n \"link\": \"#0d6efd\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#1a1d20\",\n \"bg\": \"#212529\",\n \"text\": \"#dee2e6\",\n \"muted\": \"#adb5bd\",\n \"accent\": \"#6ea8fe\",\n \"rule\": \"#dee2e6\",\n \"hline\": \"#495057\",\n \"labelBg\": \"#212529\",\n \"labelColor\": \"#dee2e6\",\n \"stripe\": \"#2c3034\",\n \"summaryBg\": \"#343a40\",\n \"link\": \"#6ea8fe\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Plain Bootstrap 5 table; tables are rare, content is charts. Not measured.\"\n },\n \"ibm-carbon-data-table\": {\n \"id\": \"ibm-carbon-data-table\",\n \"theme\": \"ibm-carbon-data-table\",\n \"source\": \"IBM Carbon data table\",\n \"category\": \"library\",\n \"url\": \"https://github.com/carbon-design-system/carbon/blob/main/packages/styles/scss/components/data-table/_data-table.scss\",\n \"evidence\": \"partial\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Carbon ships g90/g100 dark themes; dark values are g100 tokens.\",\n \"fonts\": {\n \"title\": \"IBM Plex Sans\",\n \"titleWeight\": 400,\n \"label\": \"IBM Plex Sans\",\n \"labelWeight\": 600,\n \"body\": \"IBM Plex Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"IBM Plex Sans\",\n \"subtitle\": \"IBM Plex Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 13,\n \"label\": 14,\n \"body\": 14,\n \"source\": 11,\n \"padY\": 14,\n \"padX\": 16\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#f4f4f4\",\n \"text\": \"#161616\",\n \"muted\": \"#525252\",\n \"accent\": \"#0f62fe\",\n \"rule\": \"#c6c6c6\",\n \"hline\": \"#e0e0e0\",\n \"labelBg\": \"#e0e0e0\",\n \"labelColor\": \"#161616\",\n \"stripe\": \"#e8e8e8\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#0f62fe\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#161616\",\n \"bg\": \"#262626\",\n \"text\": \"#f4f4f4\",\n \"muted\": \"#c6c6c6\",\n \"accent\": \"#78a9ff\",\n \"rule\": \"#525252\",\n \"hline\": \"#393939\",\n \"labelBg\": \"#393939\",\n \"labelColor\": \"#f4f4f4\",\n \"stripe\": \"#333333\",\n \"summaryBg\": \"#393939\",\n \"link\": \"#78a9ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Grey #E0E0E0 header slab on #F4F4F4 body, 48px default rows, no vertical rules.\"\n },\n \"jama\": {\n \"id\": \"jama\",\n \"theme\": \"jama\",\n \"source\": \"JAMA\",\n \"category\": \"journal\",\n \"url\": \"https://jamanetwork.com/journals/jama/pages/instructions-for-authors\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Source Sans 3\",\n \"titleWeight\": 700,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 700,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#111111\",\n \"muted\": \"#555555\",\n \"accent\": \"#1f4e79\",\n \"rule\": \"#111111\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#dce6ee\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid #e5e5e5\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Blue-grey header tint, No. (%) heads, a b c superscripts, en-dash CIs.\"\n },\n \"kaggle\": {\n \"id\": \"kaggle\",\n \"theme\": \"kaggle\",\n \"source\": \"Kaggle leaderboards\",\n \"category\": \"sports\",\n \"url\": \"https://www.kaggle.com/competitions\",\n \"evidence\": \"estimated\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Kaggle offers a dark theme; values estimated from Material/Google dark tokens, not measured.\",\n \"fonts\": {\n \"title\": \"Inter\",\n \"titleWeight\": 700,\n \"label\": \"Inter\",\n \"labelWeight\": 500,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 12,\n \"padY\": 8,\n \"padX\": 10\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#202124\",\n \"muted\": \"#5f6368\",\n \"accent\": \"#20beff\",\n \"rule\": \"#dadce0\",\n \"hline\": \"#e8eaed\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#5f6368\",\n \"stripe\": \"#f8f9fa\",\n \"summaryBg\": \"#e8f0fe\",\n \"link\": \"#1a73e8\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#202124\",\n \"bg\": \"#202124\",\n \"text\": \"#e8eaed\",\n \"muted\": \"#9aa0a6\",\n \"accent\": \"#20beff\",\n \"rule\": \"#3c4043\",\n \"hline\": \"#3c4043\",\n \"labelBg\": \"#202124\",\n \"labelColor\": \"#9aa0a6\",\n \"stripe\": \"#26272a\",\n \"summaryBg\": \"#1e2a3d\",\n \"link\": \"#8ab4f8\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"top\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"Rank + medal dot + team avatars; your-team row pinned and tinted at top. Not measured.\"\n },\n \"koyfin\": {\n \"id\": \"koyfin\",\n \"theme\": \"koyfin\",\n \"source\": \"Koyfin\",\n \"category\": \"finance\",\n \"url\": \"https://www.koyfin.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"dark\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Dark is Koyfin's default; light is a derived inversion.\",\n \"fonts\": {\n \"title\": \"Inter\",\n \"titleWeight\": 600,\n \"label\": \"Inter\",\n \"labelWeight\": 500,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 12,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#131722\",\n \"muted\": \"#5d6475\",\n \"accent\": \"#2962ff\",\n \"rule\": \"#222222\",\n \"hline\": \"#e3e6ec\",\n \"labelBg\": \"#f2f4f7\",\n \"labelColor\": \"#5d6475\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#131722\",\n \"bg\": \"#131722\",\n \"text\": \"#d1d4dc\",\n \"muted\": \"#8a90a0\",\n \"accent\": \"#2962ff\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#232838\",\n \"labelBg\": \"#1a1f2e\",\n \"labelColor\": \"#8a90a0\",\n \"stripe\": \"#171c28\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0e3324\",\n \"negBg\": \"#3d1418\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"signed-alpha\",\n \"heatColumns\": [\n \"pct\",\n \"delta\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Dark #131722 grid, heat-mapped % cells, sticky grouped headers, density toggle.\"\n },\n \"lancet\": {\n \"id\": \"lancet\",\n \"theme\": \"lancet\",\n \"source\": \"The Lancet\",\n \"category\": \"journal\",\n \"url\": \"https://www.thelancet.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#111111\",\n \"muted\": \"#555555\",\n \"accent\": \"#111111\",\n \"rule\": \"#111111\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#e8eef4\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid #e5e5e5\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Light-tint header, 'Data are n (%)' note line, n (%) paired cells.\"\n },\n \"le-monde\": {\n \"id\": \"le-monde\",\n \"theme\": \"le-monde\",\n \"source\": \"Le Monde\",\n \"category\": \"news\",\n \"url\": \"https://www.lemonde.fr/en/bucket/resources/english/css/ds_fonts.9c52953826f848be.css\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Slate ink and highlighter yellow survive on a slate-biased near-black; the highlight becomes a deep amber underlay.\",\n \"fonts\": {\n \"title\": \"Spectral\",\n \"titleWeight\": 600,\n \"label\": \"Archivo Narrow\",\n \"labelWeight\": 600,\n \"body\": \"Archivo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Archivo\",\n \"subtitle\": \"Spectral\",\n \"subtitleItalic\": true\n },\n \"sizes\": {\n \"title\": 22,\n \"subtitle\": 15,\n \"label\": 13,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 7,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#2a303c\",\n \"muted\": \"#6e737d\",\n \"accent\": \"#ffd644\",\n \"rule\": \"#2a303c\",\n \"hline\": \"#e3e5ea\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#2a303c\",\n \"stripe\": \"#f5f6f8\",\n \"summaryBg\": \"#ffd644\",\n \"link\": \"#016ed3\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#14161b\",\n \"bg\": \"#14161b\",\n \"text\": \"#e4e6eb\",\n \"muted\": \"#9da1aa\",\n \"accent\": \"#ffd644\",\n \"rule\": \"#c4c8d0\",\n \"hline\": \"#2c3039\",\n \"labelBg\": \"#14161b\",\n \"labelColor\": \"#e4e6eb\",\n \"stripe\": \"#1b1e24\",\n \"summaryBg\": \"#5c4a00\",\n \"link\": \"#5aa9f0\",\n \"pos\": \"#5cc27a\",\n \"neg\": \"#ff7a6b\",\n \"posBg\": \"#16301f\",\n \"negBg\": \"#3a1c18\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#1b1e24\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Slate ink, condensed semibold labels, highlighter-yellow key row; muted darkened from #A7A9AD for legibility.\"\n },\n \"lichess\": {\n \"id\": \"lichess\",\n \"theme\": \"lichess\",\n \"source\": \"Lichess leaderboards\",\n \"category\": \"sports\",\n \"url\": \"https://lichess.org/player\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Dark default measured: hue-37 warm greys, #bf811d brag header; light header #e69d00.\",\n \"fonts\": {\n \"title\": \"Noto Sans\",\n \"titleWeight\": 600,\n \"label\": \"Noto Sans\",\n \"labelWeight\": 600,\n \"body\": \"Noto Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"Noto Sans\",\n \"subtitle\": \"Noto Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 11,\n \"padX\": 12\n },\n \"light\": {\n \"page\": \"#f6f5f4\",\n \"bg\": \"#ffffff\",\n \"text\": \"#4d4d4d\",\n \"muted\": \"#787878\",\n \"accent\": \"#e69d00\",\n \"rule\": \"#d9d9d9\",\n \"hline\": \"#e3e3e3\",\n \"labelBg\": \"#e69d00\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#f7f6f5\",\n \"summaryBg\": \"#f2f0ee\",\n \"link\": \"#1b78d0\",\n \"pos\": \"#4c771c\",\n \"neg\": \"#c23030\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#161512\",\n \"bg\": \"#262421\",\n \"text\": \"#bababa\",\n \"muted\": \"#949494\",\n \"accent\": \"#bf811d\",\n \"rule\": \"#404040\",\n \"hline\": \"#404040\",\n \"labelBg\": \"#bf811d\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#33312e\",\n \"summaryBg\": \"#33312e\",\n \"link\": \"#3692e7\",\n \"pos\": \"#7dab4a\",\n \"neg\": \"#de7a7a\",\n \"posBg\": \"#2c3a1f\",\n \"negBg\": \"#4a2424\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": true,\n \"cardRadius\": 7,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Warm hue-37 greys everywhere, gold-brown header bar, rounded zebra list cards. pos/neg adjusted for AA.\"\n },\n \"macrotrends\": {\n \"id\": \"macrotrends\",\n \"theme\": \"macrotrends\",\n \"source\": \"Macrotrends\",\n \"category\": \"finance\",\n \"url\": \"https://www.macrotrends.net/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 700,\n \"label\": \"Roboto\",\n \"labelWeight\": 700,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#666666\",\n \"accent\": \"#2c5d87\",\n \"rule\": \"#222222\",\n \"hline\": \"#e0e0e0\",\n \"labelBg\": \"#2c5d87\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#f2f2f2\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#7fb2e0\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#1f4566\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Long annual tables, blue header band, grey stripes, $-millions.\"\n },\n \"material-data-table\": {\n \"id\": \"material-data-table\",\n \"theme\": \"material-data-table\",\n \"source\": \"Material Design (M2) data table\",\n \"category\": \"library\",\n \"url\": \"https://m2.material.io/components/data-tables\",\n \"evidence\": \"estimated\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Material dark theme guidance covers data tables.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 500,\n \"label\": \"Roboto\",\n \"labelWeight\": 500,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 14,\n \"body\": 14,\n \"source\": 11,\n \"padY\": 16,\n \"padX\": 16\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#212121\",\n \"muted\": \"#757575\",\n \"accent\": \"#6200ee\",\n \"rule\": \"#222222\",\n \"hline\": \"#e0e0e0\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#212121\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#6200ee\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1e1e1e\",\n \"text\": \"#e0e0e0\",\n \"muted\": \"#9e9e9e\",\n \"accent\": \"#bb86fc\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#383838\",\n \"labelBg\": \"#1e1e1e\",\n \"labelColor\": \"#e0e0e0\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#bb86fc\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {hline}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"56dp header / 52dp rows, rgba .12 dividers, Medium 14px headers.\"\n },\n \"moneypuck\": {\n \"id\": \"moneypuck\",\n \"theme\": \"moneypuck\",\n \"source\": \"MoneyPuck\",\n \"category\": \"sports\",\n \"url\": \"https://moneypuck.com/teams.htm\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Binned sky-blue heat and tablesorter chrome are built for white paper; no dark original.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"PT Sans\",\n \"labelWeight\": 700,\n \"body\": \"PT Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"PT Sans\",\n \"subtitle\": \"PT Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 12,\n \"source\": 11,\n \"padY\": 3,\n \"padX\": 5\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#555555\",\n \"accent\": \"#45b3e0\",\n \"rule\": \"#cdcdcd\",\n \"hline\": \"#cdcdcd\",\n \"labelBg\": \"#e6eeee\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#f6f6f6\",\n \"summaryBg\": \"#f5fbfd\",\n \"link\": \"#000000\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f5fbfd\",\n \"heatMid\": \"#9dd7ef\",\n \"heatHigh\": \"#45b3e0\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"center\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"center\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"sequential\",\n \"heatColumns\": [\n \"pct\",\n \"net\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Everything centered in Verdana-like sans; 5-bin sky-blue quintile heat.\"\n },\n \"morningstar\": {\n \"id\": \"morningstar\",\n \"theme\": \"morningstar\",\n \"source\": \"Morningstar\",\n \"category\": \"finance\",\n \"url\": \"https://www.morningstar.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 700,\n \"label\": \"Roboto\",\n \"labelWeight\": 700,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#1e1e1e\",\n \"muted\": \"#5e5e5e\",\n \"accent\": \"#b31b1b\",\n \"rule\": \"#222222\",\n \"hline\": \"#e5e5e5\",\n \"labelBg\": \"#ebebeb\",\n \"labelColor\": \"#1e1e1e\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#c8102e\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#ff6b6b\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#2a2a2a\",\n \"labelColor\": \"#e8e8e8\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Grey header band, 10-yr + TTM columns, red negatives without parens.\"\n },\n \"natural-stat-trick\": {\n \"id\": \"natural-stat-trick\",\n \"theme\": \"natural-stat-trick\",\n \"source\": \"Natural Stat Trick\",\n \"category\": \"sports\",\n \"url\": \"https://www.naturalstattrick.com/teamtable.php\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Times serif, black-boxed rows and grey zebra are a print-almanac look; no dark.\",\n \"fonts\": {\n \"title\": \"Tinos\",\n \"titleWeight\": 700,\n \"label\": \"Tinos\",\n \"labelWeight\": 700,\n \"body\": \"Tinos\",\n \"bodyWeight\": 400,\n \"numeric\": \"Tinos\",\n \"subtitle\": \"Tinos\",\n \"subtitleItalic\": true\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 13,\n \"source\": 12,\n \"padY\": 5,\n \"padX\": 5\n },\n \"light\": {\n \"page\": \"#e6e5e5\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#555555\",\n \"accent\": \"#6e0000\",\n \"rule\": \"#000000\",\n \"hline\": \"#000000\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#e6e5e5\",\n \"summaryBg\": \"#dddddd\",\n \"link\": \"#000000\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"center\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"center\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Times New Roman, every row boxed in black, grey zebra, maroon section bars.\"\n },\n \"nature\": {\n \"id\": \"nature\",\n \"theme\": \"nature\",\n \"source\": \"Nature\",\n \"category\": \"journal\",\n \"url\": \"https://www.nature.com/nature/for-authors/formatting-guide\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Lora\",\n \"titleWeight\": 700,\n \"label\": \"Inter\",\n \"labelWeight\": 700,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 14,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#111111\",\n \"muted\": \"#555555\",\n \"accent\": \"#111111\",\n \"rule\": \"#111111\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#f2f2f2\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {text}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"2px solid {text}\",\n \"tableBorderBottom\": \"2px solid {text}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"One-line bold title, light-grey header online, symbols defined directly below.\"\n },\n \"nba-stats\": {\n \"id\": \"nba-stats\",\n \"theme\": \"nba-stats\",\n \"source\": \"NBA.com Stats\",\n \"category\": \"sports\",\n \"url\": \"https://www.nba.com/stats/players/traditional\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark stats page; heavy uppercase labels and zebra invert cleanly on a navy-biased ground.\",\n \"fonts\": {\n \"title\": \"Barlow Condensed\",\n \"titleWeight\": 700,\n \"label\": \"Roboto\",\n \"labelWeight\": 900,\n \"body\": \"Roboto Condensed\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto Condensed\",\n \"subtitle\": \"Roboto Condensed\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 22,\n \"subtitle\": 13,\n \"label\": 10,\n \"body\": 12,\n \"source\": 11,\n \"padY\": 11,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#f6f6f6\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#6b6b6b\",\n \"accent\": \"#1d428a\",\n \"rule\": \"#daddde\",\n \"hline\": \"#ebe9e7\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#343232\",\n \"stripe\": \"#f1f1f1\",\n \"summaryBg\": \"#ebe9e7\",\n \"link\": \"#1d428a\",\n \"pos\": \"#17692f\",\n \"neg\": \"#c8102e\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#0a0e17\",\n \"bg\": \"#111622\",\n \"text\": \"#f0f0f0\",\n \"muted\": \"#9aa0aa\",\n \"accent\": \"#6b8fd6\",\n \"rule\": \"#3a4150\",\n \"hline\": \"#262c38\",\n \"labelBg\": \"#111622\",\n \"labelColor\": \"#c9ccd2\",\n \"stripe\": \"#171d2a\",\n \"summaryBg\": \"#1e2533\",\n \"link\": \"#8fb0f0\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff6b7d\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"uppercase\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Tiny 10px/900 uppercase labels over condensed uppercase body rows with soft zebra.\"\n },\n \"nejm\": {\n \"id\": \"nejm\",\n \"theme\": \"nejm\",\n \"source\": \"New England Journal of Medicine\",\n \"category\": \"journal\",\n \"url\": \"https://www.nejm.org/author-center\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Source Sans 3\",\n \"titleWeight\": 700,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 700,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#1a1a1a\",\n \"muted\": \"#5c5c5c\",\n \"accent\": \"#8c1d18\",\n \"rule\": \"#1a1a1a\",\n \"hline\": \"#e6e1d3\",\n \"labelBg\": \"#f4efe0\",\n \"labelColor\": \"#1a1a1a\",\n \"stripe\": \"#fbf6e6\",\n \"summaryBg\": \"#fbf6e6\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"2px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Cream #FBF6E6 banding, bold section rows; n (%), mean ±SD, * dagger footnote cascade.\"\n },\n \"new-york-times\": {\n \"id\": \"new-york-times\",\n \"theme\": \"new-york-times\",\n \"source\": \"The New York Times\",\n \"category\": \"news\",\n \"url\": \"https://www.nytimes.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Bot-blocked, nothing measured; the grey-label hairline look inverts to a neutral near-black.\",\n \"fonts\": {\n \"title\": \"Spectral\",\n \"titleWeight\": 700,\n \"label\": \"Libre Franklin\",\n \"labelWeight\": 600,\n \"body\": \"Libre Franklin\",\n \"bodyWeight\": 400,\n \"numeric\": \"Libre Franklin\",\n \"subtitle\": \"Libre Franklin\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 22,\n \"subtitle\": 14,\n \"label\": 11,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 7,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#121212\",\n \"muted\": \"#727272\",\n \"accent\": \"#326891\",\n \"rule\": \"#121212\",\n \"hline\": \"#e2e2e2\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#727272\",\n \"stripe\": \"#f7f7f7\",\n \"summaryBg\": \"#f3f3f3\",\n \"link\": \"#326891\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#121212\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a3a3a3\",\n \"accent\": \"#7fb0d9\",\n \"rule\": \"#d0d0d0\",\n \"hline\": \"#2e2e2e\",\n \"labelBg\": \"#121212\",\n \"labelColor\": \"#a3a3a3\",\n \"stripe\": \"#1a1a1a\",\n \"summaryBg\": \"#232323\",\n \"link\": \"#7fb0d9\",\n \"pos\": \"#5cc27a\",\n \"neg\": \"#ff7a6b\",\n \"posBg\": \"#16301f\",\n \"negBg\": \"#3a1c18\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#1a1a1a\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0.05em\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"Small grey uppercase Franklin labels over a thin rule, hairline rows, bold winner row.\"\n },\n \"new-yorker\": {\n \"id\": \"new-yorker\",\n \"theme\": \"new-yorker\",\n \"source\": \"The New Yorker\",\n \"category\": \"periodical\",\n \"url\": \"https://www.newyorker.com/\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Libre Caslon Display\",\n \"titleWeight\": 400,\n \"label\": \"Hanken Grotesk\",\n \"labelWeight\": 600,\n \"body\": \"Libre Caslon Text\",\n \"bodyWeight\": 400,\n \"numeric\": \"Libre Caslon Text\",\n \"subtitle\": \"Libre Caslon Text\",\n \"subtitleItalic\": true\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 8,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#1a1a1a\",\n \"muted\": \"#6b6b6b\",\n \"accent\": \"#a6192e\",\n \"rule\": \"#1a1a1a\",\n \"hline\": \"#d9d9d9\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#1a1a1a\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0.12em\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Caslon text, tracked small-caps Graphik labels, hairlines, generous leading.\"\n },\n \"nfl-next-gen-stats\": {\n \"id\": \"nfl-next-gen-stats\",\n \"theme\": \"nfl-next-gen-stats\",\n \"source\": \"NFL Next Gen Stats\",\n \"category\": \"sports\",\n \"url\": \"https://nextgenstats.nfl.com/stats/passing\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Vuetify dark theme: hover #616161 measured, other dark tones are Vuetify 1.x defaults (estimated).\",\n \"fonts\": {\n \"title\": \"Barlow Semi Condensed\",\n \"titleWeight\": 700,\n \"label\": \"Roboto\",\n \"labelWeight\": 500,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto Mono\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 14,\n \"padX\": 24\n },\n \"light\": {\n \"page\": \"#f5f5f5\",\n \"bg\": \"#ffffff\",\n \"text\": \"#212121\",\n \"muted\": \"#757575\",\n \"accent\": \"#212121\",\n \"rule\": \"#e0e0e0\",\n \"hline\": \"#e0e0e0\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#757575\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#fffde7\",\n \"link\": \"#1565c0\",\n \"pos\": \"#327835\",\n \"neg\": \"#c82d2d\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#303030\",\n \"bg\": \"#424242\",\n \"text\": \"#ffffff\",\n \"muted\": \"#b0b0b0\",\n \"accent\": \"#ffffff\",\n \"rule\": \"#616161\",\n \"hline\": \"#595959\",\n \"labelBg\": \"#424242\",\n \"labelColor\": \"#b3b3b3\",\n \"stripe\": \"#4a4a4a\",\n \"summaryBg\": \"#616161\",\n \"link\": \"#90caf9\",\n \"pos\": \"#81c784\",\n \"neg\": \"#ef9a9a\",\n \"posBg\": \"#2e4a30\",\n \"negBg\": \"#5a3030\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {hline}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": true,\n \"cardRadius\": 2,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Roomy Material v-datatable, 48px rows, grey 12px labels with hide-until-hover chevrons. pos/neg darkened for AA.\"\n },\n \"nzz\": {\n \"id\": \"nzz\",\n \"theme\": \"nzz\",\n \"source\": \"NZZ (Q table)\",\n \"category\": \"news\",\n \"url\": \"https://github.com/nzzdev/Q-table\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Faint lavender rules and the boxed reference row invert to a lavender-biased near-black with light box rules.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 700,\n \"label\": \"IBM Plex Sans\",\n \"labelWeight\": 600,\n \"body\": \"IBM Plex Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"IBM Plex Sans\",\n \"subtitle\": \"IBM Plex Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 14,\n \"label\": 14,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 10,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#121212\",\n \"muted\": \"#6e6e78\",\n \"accent\": \"#0f4c81\",\n \"rule\": \"#000000\",\n \"hline\": \"#e9e9ee\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#121212\",\n \"stripe\": \"#f7f7f9\",\n \"summaryBg\": \"#f4f4f4\",\n \"link\": \"#0f4c81\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#eef3f9\",\n \"heatMid\": \"#8fb0d6\",\n \"heatHigh\": \"#0f4c81\"\n },\n \"dark\": {\n \"page\": \"#121216\",\n \"bg\": \"#121216\",\n \"text\": \"#ececf0\",\n \"muted\": \"#a0a0ab\",\n \"accent\": \"#5b9be0\",\n \"rule\": \"#d6d6de\",\n \"hline\": \"#2c2c34\",\n \"labelBg\": \"#121216\",\n \"labelColor\": \"#ececf0\",\n \"stripe\": \"#1a1a20\",\n \"summaryBg\": \"#26262e\",\n \"link\": \"#7fb2ea\",\n \"pos\": \"#5cc27a\",\n \"neg\": \"#ff7a6b\",\n \"posBg\": \"#16301f\",\n \"negBg\": \"#3a1c18\",\n \"heatLow\": \"#16202c\",\n \"heatMid\": \"#2f5a8a\",\n \"heatHigh\": \"#6fa8e6\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {hline}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"top\",\n \"cutAfter\": 1,\n \"cutRule\": \"2px solid {rule}\",\n \"delta\": \"text\",\n \"heat\": \"sequential\",\n \"heatColumns\": [\n \"pct\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Frozen reference row: #f4f4f4 fill boxed by 2px black rules; faint #e9e9ee rows; blue ramp estimated.\"\n },\n \"observable-inputs-table\": {\n \"id\": \"observable-inputs-table\",\n \"theme\": \"observable-inputs-table\",\n \"source\": \"Observable Inputs.table\",\n \"category\": \"library\",\n \"url\": \"https://observablehq.com/@observablehq/input-table\",\n \"evidence\": \"estimated\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Observable notebooks/Framework ship dark themes the table follows.\",\n \"fonts\": {\n \"title\": \"Inter\",\n \"titleWeight\": 700,\n \"label\": \"Inter\",\n \"labelWeight\": 700,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 3,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#1b1e23\",\n \"muted\": \"#6f7378\",\n \"accent\": \"#4269d0\",\n \"rule\": \"#222222\",\n \"hline\": \"#eeeeee\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#1b1e23\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#161616\",\n \"bg\": \"#161616\",\n \"text\": \"#e6e6e6\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#6b8de3\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#2c2c2c\",\n \"labelBg\": \"#161616\",\n \"labelColor\": \"#e6e6e6\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Notebook-native: system-ui 13px, sticky bold header, hairlines, tabular-nums, sort glyph.\"\n },\n \"olympics\": {\n \"id\": \"olympics\",\n \"theme\": \"olympics\",\n \"source\": \"Olympics medal table\",\n \"category\": \"sports\",\n \"url\": \"https://olympics.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Blocked, not measured; a plain medal table with gold/silver/bronze discs survives a dark card.\",\n \"fonts\": {\n \"title\": \"Barlow\",\n \"titleWeight\": 700,\n \"label\": \"Barlow\",\n \"labelWeight\": 600,\n \"body\": \"Barlow\",\n \"bodyWeight\": 400,\n \"numeric\": \"Barlow\",\n \"subtitle\": \"Barlow\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 8,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#5c5c5c\",\n \"accent\": \"#0081c8\",\n \"rule\": \"#d6d6d6\",\n \"hline\": \"#e5e5e5\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#5c5c5c\",\n \"stripe\": \"#f6f6f6\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#0081c8\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#a77044\",\n \"heatMid\": \"#a7a7ad\",\n \"heatHigh\": \"#d6af36\"\n },\n \"dark\": {\n \"page\": \"#0b0f14\",\n \"bg\": \"#12171d\",\n \"text\": \"#eef1f4\",\n \"muted\": \"#9aa3ad\",\n \"accent\": \"#3fb0ef\",\n \"rule\": \"#39414b\",\n \"hline\": \"#262d35\",\n \"labelBg\": \"#12171d\",\n \"labelColor\": \"#9aa3ad\",\n \"stripe\": \"#171d24\",\n \"summaryBg\": \"#1e252d\",\n \"link\": \"#3fb0ef\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#a77044\",\n \"heatMid\": \"#a7a7ad\",\n \"heatHigh\": \"#d6af36\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"Rank, flag + NOC, medal-coloured header discs; heat keys hold bronze/silver/gold.\"\n },\n \"ons\": {\n \"id\": \"ons\",\n \"theme\": \"ons\",\n \"source\": \"UK Office for National Statistics\",\n \"category\": \"gov\",\n \"url\": \"https://cdn.ons.gov.uk/sixteens/ef5a1ca/css/main.css\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Open Sans\",\n \"titleWeight\": 700,\n \"label\": \"Open Sans\",\n \"labelWeight\": 700,\n \"body\": \"Open Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"Open Sans\",\n \"subtitle\": \"Open Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 8,\n \"padX\": 32\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#595959\",\n \"accent\": \"#206095\",\n \"rule\": \"#d0d2d3\",\n \"hline\": \"#d0d2d3\",\n \"labelBg\": \"#d0d2d3\",\n \"labelColor\": \"#222222\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#206095\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#6fa8dc\",\n \"rule\": \"#3a3d3f\",\n \"hline\": \"#3a3d3f\",\n \"labelBg\": \"#3a3d3f\",\n \"labelColor\": \"#e8e8e8\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#6fa8dc\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Grey #D0D2D3 header slab and frame, 32px gutters, explicit tnum; [x] [c] [z] symbols.\"\n },\n \"opta-analyst\": {\n \"id\": \"opta-analyst\",\n \"theme\": \"opta-analyst\",\n \"source\": \"Opta Analyst\",\n \"category\": \"sports\",\n \"url\": \"https://theanalyst.com/competition/premier-league/stats\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark original; rule-free zebra plus mono type invert faithfully on a neutral near-black.\",\n \"fonts\": {\n \"title\": \"Big Shoulders Text\",\n \"titleWeight\": 800,\n \"label\": \"IBM Plex Mono\",\n \"labelWeight\": 600,\n \"body\": \"IBM Plex Mono\",\n \"bodyWeight\": 400,\n \"numeric\": \"IBM Plex Mono\",\n \"subtitle\": \"Lora\",\n \"subtitleItalic\": true\n },\n \"sizes\": {\n \"title\": 26,\n \"subtitle\": 15,\n \"label\": 12,\n \"body\": 12,\n \"source\": 12,\n \"padY\": 15,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#f7f7f7\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#555555\",\n \"accent\": \"#000000\",\n \"rule\": \"#000000\",\n \"hline\": \"#f2f2f2\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#f2f2f2\",\n \"summaryBg\": \"#e8e8e8\",\n \"link\": \"#000000\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#0d0d0d\",\n \"bg\": \"#141414\",\n \"text\": \"#ffffff\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#ffffff\",\n \"rule\": \"#ffffff\",\n \"hline\": \"#262626\",\n \"labelBg\": \"#141414\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#1f1f1f\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#ffffff\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": true\n },\n \"notes\": \"IBM Plex Mono everywhere, zero rules, zebra only, condensed display title, Lora serif deck.\"\n },\n \"our-world-in-data\": {\n \"id\": \"our-world-in-data\",\n \"theme\": \"our-world-in-data\",\n \"source\": \"Our World in Data\",\n \"category\": \"sports\",\n \"url\": \"https://ourworldindata.org/grapher/life-expectancy?tab=table\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark grapher; near-borderless rows and serif title translate to a navy-biased dark card.\",\n \"fonts\": {\n \"title\": \"Playfair Display\",\n \"titleWeight\": 600,\n \"label\": \"Lato\",\n \"labelWeight\": 700,\n \"body\": \"Lato\",\n \"bodyWeight\": 400,\n \"numeric\": \"Lato\",\n \"subtitle\": \"Lato\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 25,\n \"subtitle\": 14,\n \"label\": 14,\n \"body\": 14,\n \"source\": 13,\n \"padY\": 8,\n \"padX\": 16\n },\n \"light\": {\n \"page\": \"#f7f7f7\",\n \"bg\": \"#ffffff\",\n \"text\": \"#5b5b5b\",\n \"muted\": \"#858585\",\n \"accent\": \"#1d3d63\",\n \"rule\": \"#f2f2f2\",\n \"hline\": \"#f2f2f2\",\n \"labelBg\": \"#f7f7f7\",\n \"labelColor\": \"#5b5b5b\",\n \"stripe\": \"#f7f7f7\",\n \"summaryBg\": \"#f7f7f7\",\n \"link\": \"#1d3d63\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#0e1620\",\n \"bg\": \"#151e2a\",\n \"text\": \"#cdd3da\",\n \"muted\": \"#8b96a3\",\n \"accent\": \"#8fb3e0\",\n \"rule\": \"#26303c\",\n \"hline\": \"#26303c\",\n \"labelBg\": \"#1b2532\",\n \"labelColor\": \"#cdd3da\",\n \"stripe\": \"#1b2532\",\n \"summaryBg\": \"#1b2532\",\n \"link\": \"#8fb3e0\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": true,\n \"cardRadius\": 4,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Airy Lato rows, Playfair title, only the sorted column shaded; built-in change columns.\"\n },\n \"pew-research\": {\n \"id\": \"pew-research\",\n \"theme\": \"pew-research\",\n \"source\": \"Pew Research Center\",\n \"category\": \"periodical\",\n \"url\": \"https://www.pewresearch.org/\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Libre Franklin\",\n \"titleWeight\": 700,\n \"label\": \"Libre Franklin\",\n \"labelWeight\": 600,\n \"body\": \"Libre Franklin\",\n \"bodyWeight\": 400,\n \"numeric\": \"Libre Franklin\",\n \"subtitle\": \"Libre Franklin\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#212121\",\n \"muted\": \"#666666\",\n \"accent\": \"#ea9e2c\",\n \"rule\": \"#222222\",\n \"hline\": \"#e0e0e0\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#666666\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#fdf3e1\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#f2b552\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#1a1a1a\",\n \"labelColor\": \"#a8a8a8\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#33280f\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Topline conventions: bold NET rows, * under 0.5%, N= column.\"\n },\n \"pff-site\": {\n \"id\": \"pff-site\",\n \"theme\": \"pff-site\",\n \"source\": \"PFF (grades)\",\n \"category\": \"sports\",\n \"url\": \"https://www.pff.com/nfl/grades\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Site blocked; dark-slate header and grade bands carry over to a slate near-black ground.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 700,\n \"label\": \"Roboto\",\n \"labelWeight\": 700,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 24,\n \"subtitle\": 13,\n \"label\": 10,\n \"body\": 12,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#212426\",\n \"muted\": \"#878e94\",\n \"accent\": \"#585d63\",\n \"rule\": \"#212426\",\n \"hline\": \"#e4e8ec\",\n \"labelBg\": \"#585d63\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#e4e8ec\",\n \"link\": \"#0060a9\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#d7301f\",\n \"heatMid\": \"#fecb2f\",\n \"heatHigh\": \"#1a9641\"\n },\n \"dark\": {\n \"page\": \"#15171a\",\n \"bg\": \"#1c1f23\",\n \"text\": \"#e6e8ea\",\n \"muted\": \"#9aa1a8\",\n \"accent\": \"#8a9199\",\n \"rule\": \"#9aa1a8\",\n \"hline\": \"#2e3237\",\n \"labelBg\": \"#3a3f45\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#22262a\",\n \"summaryBg\": \"#2a2e33\",\n \"link\": \"#6fb3ff\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#b22a1c\",\n \"heatMid\": \"#c9a227\",\n \"heatHigh\": \"#1f7a3a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"2px solid {hline}\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"grade-bands\",\n \"heatColumns\": [\n \"pct\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Slate #585d63 header, white caps labels (gtExtras-measured); five-band grade fills estimated.\"\n },\n \"plos-one\": {\n \"id\": \"plos-one\",\n \"theme\": \"plos-one\",\n \"source\": \"PLOS ONE\",\n \"category\": \"journal\",\n \"url\": \"https://journals.plos.org/plosone/s/tables\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Open Sans\",\n \"titleWeight\": 700,\n \"label\": \"Open Sans\",\n \"labelWeight\": 700,\n \"body\": \"Open Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"Open Sans\",\n \"subtitle\": \"Open Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#555555\",\n \"accent\": \"#111111\",\n \"rule\": \"#111111\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#fdebd3\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {text}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"2px solid {text}\",\n \"tableBorderBottom\": \"2px solid {text}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Black text only, colour solely as light cell fill, shading described in footnote.\"\n },\n \"premier-league\": {\n \"id\": \"premier-league\",\n \"theme\": \"premier-league\",\n \"source\": \"Premier League\",\n \"category\": \"sports\",\n \"url\": \"https://www.premierleague.com/tables\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Light table; the purple identity becomes the ground in a faithful purple-biased dark.\",\n \"fonts\": {\n \"title\": \"Poppins\",\n \"titleWeight\": 700,\n \"label\": \"Poppins\",\n \"labelWeight\": 600,\n \"body\": \"Poppins\",\n \"bodyWeight\": 400,\n \"numeric\": \"Poppins\",\n \"subtitle\": \"Poppins\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 8,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#37003c\",\n \"muted\": \"#6b5a6e\",\n \"accent\": \"#37003c\",\n \"rule\": \"#37003c\",\n \"hline\": \"#e8e1ea\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#37003c\",\n \"stripe\": \"#f8f5f9\",\n \"summaryBg\": \"#f1ecf2\",\n \"link\": \"#37003c\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#1a001d\",\n \"bg\": \"#24002a\",\n \"text\": \"#f4eef5\",\n \"muted\": \"#b9a8bd\",\n \"accent\": \"#00ff85\",\n \"rule\": \"#e8e1ea\",\n \"hline\": \"#3d1f42\",\n \"labelBg\": \"#37003c\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#2b0632\",\n \"summaryBg\": \"#33103a\",\n \"link\": \"#00ff85\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 4,\n \"cutRule\": \"2px solid {rule}\",\n \"delta\": \"pill\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"Shipped theme; deep-purple ink, Champions League cut after 4th. Preview only, values estimated.\"\n },\n \"pro-football-reference\": {\n \"id\": \"pro-football-reference\",\n \"theme\": \"pro-football-reference\",\n \"source\": \"Pro-Football-Reference\",\n \"category\": \"sports\",\n \"url\": \"https://www.pro-football-reference.com/\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark original; the grey boxed grid and amber summary band survive inversion on a neutral near-black.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#c9cbcd\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#525456\",\n \"accent\": \"#005228\",\n \"rule\": \"#747678\",\n \"hline\": \"#dddddd\",\n \"labelBg\": \"#eeeeee\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#ffc966\",\n \"link\": \"#3344dd\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#1b1c1d\",\n \"bg\": \"#121314\",\n \"text\": \"#ececec\",\n \"muted\": \"#a3a5a7\",\n \"accent\": \"#4caf7a\",\n \"rule\": \"#8a8c8e\",\n \"hline\": \"#3a3b3c\",\n \"labelBg\": \"#2a2b2c\",\n \"labelColor\": \"#ececec\",\n \"stripe\": \"#1a1b1c\",\n \"summaryBg\": \"#5c4310\",\n \"link\": \"#8f9bff\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px dotted {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"2px solid {rule}\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Grey boxed header, dotted row rules, column hairlines, amber league-average row; accent #005228.\"\n },\n \"propublica\": {\n \"id\": \"propublica\",\n \"theme\": \"propublica\",\n \"source\": \"ProPublica (news apps)\",\n \"category\": \"news\",\n \"url\": \"https://projects.propublica.org/nonprofits/organizations/530196605\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Site defines light-dark() pairs from its cool-grey scale; dark values estimated from those tokens.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 700,\n \"label\": \"Figtree\",\n \"labelWeight\": 700,\n \"body\": \"Figtree\",\n \"bodyWeight\": 400,\n \"numeric\": \"Figtree\",\n \"subtitle\": \"Figtree\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 14,\n \"label\": 13,\n \"body\": 13,\n \"source\": 12,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#f9fafa\",\n \"bg\": \"#ffffff\",\n \"text\": \"#303030\",\n \"muted\": \"#777777\",\n \"accent\": \"#bb0b15\",\n \"rule\": \"#bec8ce\",\n \"hline\": \"#bec8ce\",\n \"labelBg\": \"#dee3e6\",\n \"labelColor\": \"#1b2127\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#eef1f3\",\n \"link\": \"#006997\",\n \"pos\": \"#17692f\",\n \"neg\": \"#bb0b15\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#1b2127\",\n \"bg\": \"#20272e\",\n \"text\": \"#e2e2e2\",\n \"muted\": \"#a0a0a0\",\n \"accent\": \"#da352b\",\n \"rule\": \"#4a555e\",\n \"hline\": \"#4a555e\",\n \"labelBg\": \"#2b3137\",\n \"labelColor\": \"#dee3e6\",\n \"stripe\": \"#242b32\",\n \"summaryBg\": \"#2b3137\",\n \"link\": \"#06aee0\",\n \"pos\": \"#5cc27a\",\n \"neg\": \"#ff7a70\",\n \"posBg\": \"#183323\",\n \"negBg\": \"#3f1c1c\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#242b32\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {hline}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Cool-grey #bec8ce 1px full grid with tinted #dee3e6 label row, grotesk with tabular figures.\"\n },\n \"racing-reference\": {\n \"id\": \"racing-reference\",\n \"theme\": \"racing-reference\",\n \"source\": \"Racing-Reference\",\n \"category\": \"sports\",\n \"url\": \"https://www.racing-reference.info/season-stats/2024/W/\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Royal-blue gradient header over black grid and periwinkle stripes needs white ground.\",\n \"fonts\": {\n \"title\": \"Saira Condensed\",\n \"titleWeight\": 800,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Carlito\",\n \"bodyWeight\": 400,\n \"numeric\": \"Carlito\",\n \"subtitle\": \"Carlito\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 13,\n \"label\": 10,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 3,\n \"padX\": 5\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#444444\",\n \"accent\": \"#29297d\",\n \"rule\": \"#000000\",\n \"hline\": \"#000000\",\n \"labelBg\": \"#3e3ebe\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#eeeeff\",\n \"summaryBg\": \"#dcdcff\",\n \"link\": \"#0000ee\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"center\",\n \"titleTransform\": \"uppercase\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"center\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Royal-blue header bar (flat #3e3ebe for the gradient), black cell grid, periwinkle stripes.\"\n },\n \"rbsdm\": {\n \"id\": \"rbsdm\",\n \"theme\": \"rbsdm\",\n \"source\": \"rbsdm.com\",\n \"category\": \"sports\",\n \"url\": \"https://rbsdm.com/stats/stats/\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Single navy ink at 100/14/4% inverts to a pale ink on navy-black with the same alpha ladder.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 700,\n \"label\": \"Space Grotesk\",\n \"labelWeight\": 600,\n \"body\": \"Space Grotesk\",\n \"bodyWeight\": 400,\n \"numeric\": \"Space Grotesk\",\n \"subtitle\": \"Space Grotesk\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 26,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 4,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#112535\",\n \"muted\": \"#5c7486\",\n \"accent\": \"#112535\",\n \"rule\": \"#dee0e3\",\n \"hline\": \"#dee0e3\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#2e4a5f\",\n \"stripe\": \"#f5f6f7\",\n \"summaryBg\": \"#eceeef\",\n \"link\": \"#112535\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#0b1620\",\n \"bg\": \"#0f1d29\",\n \"text\": \"#dbe6ef\",\n \"muted\": \"#8ba2b4\",\n \"accent\": \"#dbe6ef\",\n \"rule\": \"#2c3945\",\n \"hline\": \"#2c3945\",\n \"labelBg\": \"#0f1d29\",\n \"labelColor\": \"#b5c8d6\",\n \"stripe\": \"#172531\",\n \"summaryBg\": \"#1f2d39\",\n \"link\": \"#dbe6ef\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"1px solid {hline}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"One navy ink at 100/14/4% for text, rules, zebra; serif headline over grotesk body.\"\n },\n \"reuters-graphics\": {\n \"id\": \"reuters-graphics\",\n \"theme\": \"reuters-graphics\",\n \"source\": \"Reuters Graphics\",\n \"category\": \"news\",\n \"url\": \"https://github.com/reuters-graphics/graphics-components/blob/main/src/components/Table/Table.svelte\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Only the light theme was measured; hairline-plus-one-rule design inverts cleanly with a warm near-black and lifted Reuters orange.\",\n \"fonts\": {\n \"title\": \"Source Sans 3\",\n \"titleWeight\": 700,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Newsreader\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 20,\n \"subtitle\": 15,\n \"label\": 14,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 7,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#404040\",\n \"muted\": \"#666666\",\n \"accent\": \"#d64000\",\n \"rule\": \"#404040\",\n \"hline\": \"#d0d0d0\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#404040\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#d64000\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#171513\",\n \"bg\": \"#171513\",\n \"text\": \"#e6e3e0\",\n \"muted\": \"#a39e99\",\n \"accent\": \"#ff6a2b\",\n \"rule\": \"#c9c4bf\",\n \"hline\": \"#3a3633\",\n \"labelBg\": \"#171513\",\n \"labelColor\": \"#e6e3e0\",\n \"stripe\": \"#1f1c1a\",\n \"summaryBg\": \"#26221f\",\n \"link\": \"#ff8a55\",\n \"pos\": \"#5cc27a\",\n \"neg\": \"#ff7a6b\",\n \"posBg\": \"#16301f\",\n \"negBg\": \"#3a1c18\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#1f1c1a\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Single #404040 rule under labels, #d0d0d0 hairline every row, serif dek; orange only on links.\"\n },\n \"science\": {\n \"id\": \"science\",\n \"theme\": \"science\",\n \"source\": \"Science\",\n \"category\": \"journal\",\n \"url\": \"https://www.science.org/content/page/instructions-preparing-initial-manuscript\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Print/paper convention; the look depends on a white page.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#111111\",\n \"muted\": \"#555555\",\n \"accent\": \"#111111\",\n \"rule\": \"#111111\",\n \"hline\": \"#ffffff\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {text}\",\n \"rowRule\": \"none\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"2px solid {text}\",\n \"tableBorderBottom\": \"2px solid {text}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Run-in bold 'Table 1.' title, Helvetica-like sans, three rules, * daggers footnotes.\"\n },\n \"scmp\": {\n \"id\": \"scmp\",\n \"theme\": \"scmp\",\n \"source\": \"South China Morning Post\",\n \"category\": \"news\",\n \"url\": \"https://www.scmp.com/\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Navy identity carries as a navy-biased near-black with periwinkle labels and rule.\",\n \"fonts\": {\n \"title\": \"Fraunces\",\n \"titleWeight\": 700,\n \"label\": \"Roboto Condensed\",\n \"labelWeight\": 700,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Source Serif 4\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 22,\n \"subtitle\": 15,\n \"label\": 12,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 7,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#727272\",\n \"accent\": \"#001246\",\n \"rule\": \"#001246\",\n \"hline\": \"#dfdfdf\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#001246\",\n \"stripe\": \"#f8f8f8\",\n \"summaryBg\": \"#eef1f7\",\n \"link\": \"#2c4692\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#0b1020\",\n \"bg\": \"#0b1020\",\n \"text\": \"#e8eaf0\",\n \"muted\": \"#9aa3b8\",\n \"accent\": \"#7f9cff\",\n \"rule\": \"#8fa3d9\",\n \"hline\": \"#262c40\",\n \"labelBg\": \"#0b1020\",\n \"labelColor\": \"#c9d4ff\",\n \"stripe\": \"#121830\",\n \"summaryBg\": \"#1a2240\",\n \"link\": \"#8fb0ff\",\n \"pos\": \"#5cc27a\",\n \"neg\": \"#ff7a6b\",\n \"posBg\": \"#13301f\",\n \"negBg\": \"#3a1a22\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#121830\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0.04em\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Navy Roboto Condensed caps over a 2px navy rule, #f8f8f8 zebra; table treatment estimated.\"\n },\n \"sec-edgar\": {\n \"id\": \"sec-edgar\",\n \"theme\": \"sec-edgar\",\n \"source\": \"SEC EDGAR financial statements (R viewer)\",\n \"category\": \"finance\",\n \"url\": \"https://www.sec.gov/include/report.css\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark original; the blue-zebra frame inverts to navy cleanly.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 13,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 11,\n \"source\": 11,\n \"padY\": 2,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#444444\",\n \"accent\": \"#2f4497\",\n \"rule\": \"#aaccff\",\n \"hline\": \"#aaccff\",\n \"labelBg\": \"#aaccff\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#ddeeff\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#0d1420\",\n \"bg\": \"#0d1420\",\n \"text\": \"#e6ecf5\",\n \"muted\": \"#a8b4c6\",\n \"accent\": \"#8fa4f0\",\n \"rule\": \"#2f4b7a\",\n \"hline\": \"#2f4b7a\",\n \"labelBg\": \"#2f4b7a\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#14213a\",\n \"summaryBg\": \"#1a2433\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"center\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"none\",\n \"rowRule\": \"none\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"2px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"3px double {text}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"8pt Helvetica, #ACF header and frame, #DEF zebra; hanging-paren negatives, subtotal underlines.\"\n },\n \"seeking-alpha-quant\": {\n \"id\": \"seeking-alpha-quant\",\n \"theme\": \"seeking-alpha-quant\",\n \"source\": \"Seeking Alpha Quant ratings\",\n \"category\": \"finance\",\n \"url\": \"https://seekingalpha.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Seeking Alpha ships a dark mode.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 700,\n \"label\": \"Roboto\",\n \"labelWeight\": 700,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#666666\",\n \"accent\": \"#1a73e8\",\n \"rule\": \"#222222\",\n \"hline\": \"#e8e8e8\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#666666\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#d93025\",\n \"heatMid\": \"#fbbc04\",\n \"heatHigh\": \"#0f9d58\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1e1e1e\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#8ab4f8\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#1a1a1a\",\n \"labelColor\": \"#a8a8a8\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#a8261d\",\n \"heatMid\": \"#8a6a00\",\n \"heatHigh\": \"#0b6e3e\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"grade-bands\",\n \"heatColumns\": [\n \"net\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Letter-grade chips A+ to F on a five-step green-to-red ramp.\"\n },\n \"shopify-polaris-indextable\": {\n \"id\": \"shopify-polaris-indextable\",\n \"theme\": \"shopify-polaris\",\n \"source\": \"Shopify Polaris IndexTable\",\n \"category\": \"library\",\n \"url\": \"https://polaris.shopify.com/components/tables/index-table\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Inter\",\n \"titleWeight\": 600,\n \"label\": \"Inter\",\n \"labelWeight\": 600,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 8,\n \"padX\": 12\n },\n \"light\": {\n \"page\": \"#f1f1f1\",\n \"bg\": \"#ffffff\",\n \"text\": \"#303030\",\n \"muted\": \"#616161\",\n \"accent\": \"#303030\",\n \"rule\": \"#222222\",\n \"hline\": \"#ebebeb\",\n \"labelBg\": \"#f7f7f7\",\n \"labelColor\": \"#616161\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#0f0f0f\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#7fb2ff\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#2e2e2e\",\n \"labelBg\": \"#232323\",\n \"labelColor\": \"#b5b5b5\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {hline}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": true,\n \"cardRadius\": 12,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Rounded radius-12 card, #F7F7F7 12px semibold header, sticky first column.\"\n },\n \"sofascore\": {\n \"id\": \"sofascore\",\n \"theme\": \"sofascore\",\n \"source\": \"SofaScore\",\n \"category\": \"sports\",\n \"url\": \"https://www.sofascore.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"SofaScore ships a dark mode; tones estimated from the app, not measured.\",\n \"fonts\": {\n \"title\": \"Inter\",\n \"titleWeight\": 700,\n \"label\": \"Inter\",\n \"labelWeight\": 500,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 12,\n \"padY\": 8,\n \"padX\": 10\n },\n \"light\": {\n \"page\": \"#edf1f6\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222226\",\n \"muted\": \"#6b7280\",\n \"accent\": \"#374df5\",\n \"rule\": \"#e3e7ee\",\n \"hline\": \"#edf1f6\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#6b7280\",\n \"stripe\": \"#f7f9fc\",\n \"summaryBg\": \"#edf1f6\",\n \"link\": \"#374df5\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#dc0c00\",\n \"heatMid\": \"#d9af00\",\n \"heatHigh\": \"#00adc4\"\n },\n \"dark\": {\n \"page\": \"#121417\",\n \"bg\": \"#1e2026\",\n \"text\": \"#ffffff\",\n \"muted\": \"#a4a9b3\",\n \"accent\": \"#7a84ff\",\n \"rule\": \"#2c2f36\",\n \"hline\": \"#2c2f36\",\n \"labelBg\": \"#1e2026\",\n \"labelColor\": \"#a4a9b3\",\n \"stripe\": \"#23262c\",\n \"summaryBg\": \"#282b32\",\n \"link\": \"#7a84ff\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#dc0c00\",\n \"heatMid\": \"#d9af00\",\n \"heatHigh\": \"#00adc4\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": true,\n \"cardRadius\": 16,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"pill\",\n \"heat\": \"grade-bands\",\n \"heatColumns\": [\n \"pct\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"Shipped theme; rounded cards, rating-band pills red to blue. Preview only, values estimated.\"\n },\n \"stathead\": {\n \"id\": \"stathead\",\n \"theme\": \"stathead\",\n \"source\": \"Stathead\",\n \"category\": \"sports\",\n \"url\": \"https://stathead.com/\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark original; the grey boxed grid and amber summary band survive inversion on a neutral near-black.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 13,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#c9cbcd\",\n \"bg\": \"#ffffff\",\n \"text\": \"#000000\",\n \"muted\": \"#525456\",\n \"accent\": \"#7e3e89\",\n \"rule\": \"#747678\",\n \"hline\": \"#dddddd\",\n \"labelBg\": \"#eeeeee\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#ffc966\",\n \"link\": \"#3344dd\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#1b1c1d\",\n \"bg\": \"#121314\",\n \"text\": \"#ececec\",\n \"muted\": \"#a3a5a7\",\n \"accent\": \"#c08ad0\",\n \"rule\": \"#8a8c8e\",\n \"hline\": \"#3a3b3c\",\n \"labelBg\": \"#2a2b2c\",\n \"labelColor\": \"#ececec\",\n \"stripe\": \"#1a1b1c\",\n \"summaryBg\": \"#5c4310\",\n \"link\": \"#8f9bff\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px dotted {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"2px solid {rule}\",\n \"summaryRow\": \"foot\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Grey boxed header, dotted row rules, column hairlines, amber league-average row; accent #7e3e89.\"\n },\n \"statistics-canada\": {\n \"id\": \"statistics-canada\",\n \"theme\": \"statistics-canada\",\n \"source\": \"Statistics Canada\",\n \"category\": \"gov\",\n \"url\": \"https://www150.statcan.gc.ca/t1/wet-boew4b/css/theme.min.css\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Lato\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 8,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#555555\",\n \"accent\": \"#26374a\",\n \"rule\": \"#dddddd\",\n \"hline\": \"#dddddd\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#333333\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#284162\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#8fa9c7\",\n \"rule\": \"#3a3a3a\",\n \"hline\": \"#3a3a3a\",\n \"labelBg\": \"#1a1a1a\",\n \"labelColor\": \"#a8a8a8\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#8fb0e0\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"WET Bootstrap bordered #DDD grid, 8px padding; superscript E F x r p flags.\"\n },\n \"tabulator-simple\": {\n \"id\": \"tabulator-simple\",\n \"theme\": \"tabulator-simple\",\n \"source\": \"Tabulator (simple theme)\",\n \"category\": \"library\",\n \"url\": \"https://github.com/olifolkerd/tabulator/blob/master/src/scss/themes/tabulator_simple.scss\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Tabulator ships midnight and site_dark themes.\",\n \"fonts\": {\n \"title\": \"Roboto\",\n \"titleWeight\": 700,\n \"label\": \"Roboto\",\n \"labelWeight\": 700,\n \"body\": \"Roboto\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto\",\n \"subtitle\": \"Roboto\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 14,\n \"body\": 14,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#555555\",\n \"accent\": \"#1d68cd\",\n \"rule\": \"#999999\",\n \"hline\": \"#dddddd\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#555555\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1d68cd\",\n \"pos\": \"#17692f\",\n \"neg\": \"#d20000\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#222222\",\n \"bg\": \"#222222\",\n \"text\": \"#cccccc\",\n \"muted\": \"#aaaaaa\",\n \"accent\": \"#5b9cf0\",\n \"rule\": \"#666666\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#333333\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#2a2a2a\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"White header #555 text, #999 frame and header separator, #DDD row borders. pos/neg AA-adjusted.\"\n },\n \"tailwind-ui-table\": {\n \"id\": \"tailwind-ui-table\",\n \"theme\": \"tailwind-ui-table\",\n \"source\": \"Tailwind UI tables\",\n \"category\": \"library\",\n \"url\": \"https://tailwindui.com/components/application-ui/lists/tables\",\n \"evidence\": \"partial\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Tailwind UI ships dark: variants (gray-900 surfaces).\",\n \"fonts\": {\n \"title\": \"Inter\",\n \"titleWeight\": 600,\n \"label\": \"Inter\",\n \"labelWeight\": 600,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 14,\n \"body\": 14,\n \"source\": 11,\n \"padY\": 16,\n \"padX\": 12\n },\n \"light\": {\n \"page\": \"#f9fafb\",\n \"bg\": \"#ffffff\",\n \"text\": \"#6b7280\",\n \"muted\": \"#6b7280\",\n \"accent\": \"#4f46e5\",\n \"rule\": \"#d1d5db\",\n \"hline\": \"#e5e7eb\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#111827\",\n \"stripe\": \"#f9fafb\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#4f46e5\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#030712\",\n \"bg\": \"#111827\",\n \"text\": \"#9ca3af\",\n \"muted\": \"#9ca3af\",\n \"accent\": \"#818cf8\",\n \"rule\": \"#374151\",\n \"hline\": \"#1f2937\",\n \"labelBg\": \"#111827\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#1a2230\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#818cf8\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": true,\n \"cardRadius\": 8,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"White ring-1 card radius 8, gray-900 header, gray-500 body, first column bold.\"\n },\n \"tennis-abstract\": {\n \"id\": \"tennis-abstract\",\n \"theme\": \"tennis-abstract\",\n \"source\": \"Tennis Abstract\",\n \"category\": \"sports\",\n \"url\": \"https://www.tennisabstract.com/reports/atp_elo_ratings.html\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"none\",\n \"darkNote\": \"Stock 2008 tablesorter-blue look is defined by its pale teal header on white; no dark.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 14,\n \"subtitle\": 11,\n \"label\": 11,\n \"body\": 11,\n \"source\": 10,\n \"padY\": 4,\n \"padX\": 4\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#3d3d3d\",\n \"muted\": \"#6b6b6b\",\n \"accent\": \"#8dbdd8\",\n \"rule\": \"#cdcdcd\",\n \"hline\": \"#cdcdcd\",\n \"labelBg\": \"#e6eeee\",\n \"labelColor\": \"#000000\",\n \"stripe\": \"#f0f0f6\",\n \"summaryBg\": \"#e6eeee\",\n \"link\": \"#0000ee\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": null,\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {bg}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"1px solid {rule}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"jQuery tablesorter blue: pale teal header, lavender stripes, 8pt Arial, full hairline grid.\"\n },\n \"the-athletic\": {\n \"id\": \"the-athletic\",\n \"theme\": \"the-athletic\",\n \"source\": \"The Athletic\",\n \"category\": \"news\",\n \"url\": \"https://www.nytimes.com/athletic/\",\n \"evidence\": \"estimated\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"The Athletic app/site ships a dark mode; values estimated, not measured.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 700,\n \"label\": \"Libre Franklin\",\n \"labelWeight\": 600,\n \"body\": \"Libre Franklin\",\n \"bodyWeight\": 400,\n \"numeric\": \"Libre Franklin\",\n \"subtitle\": \"Libre Franklin\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 22,\n \"subtitle\": 14,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#121212\",\n \"muted\": \"#696969\",\n \"accent\": \"#121212\",\n \"rule\": \"#121212\",\n \"hline\": \"#cccccc\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#696969\",\n \"stripe\": \"#f7f7f7\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#121212\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#181818\",\n \"text\": \"#f0f0f0\",\n \"muted\": \"#9b9b9b\",\n \"accent\": \"#f0f0f0\",\n \"rule\": \"#f0f0f0\",\n \"hline\": \"#3a3a3a\",\n \"labelBg\": \"#181818\",\n \"labelColor\": \"#9b9b9b\",\n \"stripe\": \"#1e1e1e\",\n \"summaryBg\": \"#262626\",\n \"link\": \"#f0f0f0\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px dotted {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"2px solid {rule}\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Shipped theme; serif title, dotted row rules, uppercase muted labels. Preview only, values estimated.\"\n },\n \"the-atlantic\": {\n \"id\": \"the-atlantic\",\n \"theme\": \"the-atlantic\",\n \"source\": \"The Atlantic\",\n \"category\": \"periodical\",\n \"url\": \"https://www.theatlantic.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Barlow Condensed\",\n \"titleWeight\": 700,\n \"label\": \"Barlow Condensed\",\n \"labelWeight\": 700,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#111111\",\n \"muted\": \"#666666\",\n \"accent\": \"#e7131a\",\n \"rule\": \"#000000\",\n \"hline\": \"#e5e5e5\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#ff5a5f\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#1a1a1a\",\n \"labelColor\": \"#e8e8e8\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"uppercase\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"3px solid {rule}\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Condensed bold caps labels under a black top rule.\"\n },\n \"the-pudding\": {\n \"id\": \"the-pudding\",\n \"theme\": \"the-pudding\",\n \"source\": \"The Pudding\",\n \"category\": \"news\",\n \"url\": \"https://pudding.cool/_app/immutable/assets/0.C2Vp5USR.css\",\n \"evidence\": \"partial\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Site CSS defines light and dark (--color-bg white / gray-1000); dark hexes estimated from its grey scale.\",\n \"fonts\": {\n \"title\": \"Fraunces\",\n \"titleWeight\": 700,\n \"label\": \"Inter\",\n \"labelWeight\": 600,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"DM Mono\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 26,\n \"subtitle\": 15,\n \"label\": 12,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 10,\n \"padX\": 10\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#262626\",\n \"muted\": \"#4e4e4e\",\n \"accent\": \"#4717f6\",\n \"rule\": \"#262626\",\n \"hline\": \"#efefef\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#262626\",\n \"stripe\": \"#efefef\",\n \"summaryBg\": \"#efefef\",\n \"link\": \"#4717f6\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#131313\",\n \"bg\": \"#131313\",\n \"text\": \"#efefef\",\n \"muted\": \"#cacaca\",\n \"accent\": \"#8f6bff\",\n \"rule\": \"#cacaca\",\n \"hline\": \"#2e2e2e\",\n \"labelBg\": \"#131313\",\n \"labelColor\": \"#efefef\",\n \"stripe\": \"#1c1c1c\",\n \"summaryBg\": \"#262626\",\n \"link\": \"#a68aff\",\n \"pos\": \"#3ae660\",\n \"neg\": \"#ff7a6b\",\n \"posBg\": \"#12331a\",\n \"negBg\": \"#3a1c18\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#1c1c1c\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": true\n },\n \"notes\": \"Soft-serif Fraunces title, mono numerals, saturated story accent, generous whitespace; table treatment estimated.\"\n },\n \"tradingview-screener\": {\n \"id\": \"tradingview-screener\",\n \"theme\": \"tradingview-screener\",\n \"source\": \"TradingView screener\",\n \"category\": \"finance\",\n \"url\": \"https://www.tradingview.com/screener/\",\n \"evidence\": \"estimated\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"TradingView ships light and dark themes.\",\n \"fonts\": {\n \"title\": \"Inter\",\n \"titleWeight\": 600,\n \"label\": \"Inter\",\n \"labelWeight\": 500,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#131722\",\n \"muted\": \"#6a6d78\",\n \"accent\": \"#2962ff\",\n \"rule\": \"#222222\",\n \"hline\": \"#e0e3eb\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#6a6d78\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#067a67\",\n \"neg\": \"#c22b37\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#131722\",\n \"bg\": \"#131722\",\n \"text\": \"#d1d4dc\",\n \"muted\": \"#868993\",\n \"accent\": \"#2962ff\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#2a2e39\",\n \"labelBg\": \"#131722\",\n \"labelColor\": \"#868993\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#1ba18a\",\n \"neg\": \"#f34a58\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Candle colours #089981/#F23645 (darkened for AA), rating chips, filter pills. pos/neg AA-adjusted.\"\n },\n \"transfermarkt\": {\n \"id\": \"transfermarkt\",\n \"theme\": \"transfermarkt\",\n \"source\": \"Transfermarkt\",\n \"category\": \"sports\",\n \"url\": \"https://www.transfermarkt.com/premier-league/startseite/wettbewerb/GB1\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No dark site; the navy title bar and zebra list hold up on a navy-biased near-black.\",\n \"fonts\": {\n \"title\": \"Oswald\",\n \"titleWeight\": 400,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 600,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 16,\n \"subtitle\": 12,\n \"label\": 12,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 4,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#e9e9e9\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#666666\",\n \"accent\": \"#00193f\",\n \"rule\": \"#e4e4e4\",\n \"hline\": \"#e4e4e4\",\n \"labelBg\": \"#f2f2f2\",\n \"labelColor\": \"#333333\",\n \"stripe\": \"#f3f3f3\",\n \"summaryBg\": \"#e8eef6\",\n \"link\": \"#1d75a3\",\n \"pos\": \"#367b2c\",\n \"neg\": \"#b80000\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#0b0f17\",\n \"bg\": \"#111826\",\n \"text\": \"#e4e7ec\",\n \"muted\": \"#9aa3b2\",\n \"accent\": \"#5b8fd9\",\n \"rule\": \"#2a3446\",\n \"hline\": \"#2a3446\",\n \"labelBg\": \"#1a2333\",\n \"labelColor\": \"#e4e7ec\",\n \"stripe\": \"#151d2c\",\n \"summaryBg\": \"#1a2333\",\n \"link\": \"#7fb6de\",\n \"pos\": \"#6cc35d\",\n \"neg\": \"#ff7a6e\",\n \"posBg\": \"#1b3320\",\n \"negBg\": \"#3d1d1d\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"4px solid {accent}\",\n \"tableBorderBottom\": \"1px solid {rule}\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 4,\n \"cutRule\": \"2px solid {accent}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Navy Oswald box header over a grey-header zebra list; bold right-aligned market values. pos darkened for AA.\"\n },\n \"ultimate-tennis-statistics\": {\n \"id\": \"ultimate-tennis-statistics\",\n \"theme\": \"ultimate-tennis-statistics\",\n \"source\": \"Ultimate Tennis Statistics\",\n \"category\": \"sports\",\n \"url\": \"https://www.ultimatetennisstatistics.com/\",\n \"evidence\": \"measured\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Stock Bootstrap 3 striped table; inverts to a neutral dark like Bootstrap dark.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 14,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 5,\n \"padX\": 5\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#333333\",\n \"muted\": \"#a9a9a9\",\n \"accent\": \"#ff7f50\",\n \"rule\": \"#dddddd\",\n \"hline\": \"#dddddd\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#333333\",\n \"stripe\": \"#f9f9f9\",\n \"summaryBg\": \"#f5f5f5\",\n \"link\": \"#337ab7\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1b1b1b\",\n \"text\": \"#dddddd\",\n \"muted\": \"#8a8a8a\",\n \"accent\": \"#ff9466\",\n \"rule\": \"#444444\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#1b1b1b\",\n \"labelColor\": \"#dddddd\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#6aa9e0\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Bootstrap 3 condensed striped table, 2px #ddd header rule, coral badges.\"\n },\n \"understat\": {\n \"id\": \"understat\",\n \"theme\": \"understat\",\n \"source\": \"Understat\",\n \"category\": \"sports\",\n \"url\": \"https://understat.com/league/EPL\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Measured dark: #343436 page, #3e3e40 table, #272729 header, #aba9a8 ink.\",\n \"fonts\": {\n \"title\": \"Anton\",\n \"titleWeight\": 400,\n \"label\": \"Barlow\",\n \"labelWeight\": 600,\n \"body\": \"Barlow\",\n \"bodyWeight\": 400,\n \"numeric\": \"Barlow\",\n \"subtitle\": \"Barlow\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 22,\n \"subtitle\": 13,\n \"label\": 14,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 4,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#ececec\",\n \"bg\": \"#ffffff\",\n \"text\": \"#797979\",\n \"muted\": \"#a0a0a0\",\n \"accent\": \"#82c785\",\n \"rule\": \"#ececec\",\n \"hline\": \"#ececec\",\n \"labelBg\": \"#f9f9f9\",\n \"labelColor\": \"#555555\",\n \"stripe\": \"#f9f9f9\",\n \"summaryBg\": \"#f2f2f2\",\n \"link\": \"#669966\",\n \"pos\": \"#4e7750\",\n \"neg\": \"#a1504a\",\n \"posBg\": \"#e6f4e7\",\n \"negBg\": \"#fde5e3\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#343436\",\n \"bg\": \"#3e3e40\",\n \"text\": \"#aba9a8\",\n \"muted\": \"#8a8887\",\n \"accent\": \"#82c785\",\n \"rule\": \"#2c2c2e\",\n \"hline\": \"#343436\",\n \"labelBg\": \"#272729\",\n \"labelColor\": \"#c4c2c1\",\n \"stripe\": \"#434345\",\n \"summaryBg\": \"#47474a\",\n \"link\": \"#8fbf8f\",\n \"pos\": \"#8ecd91\",\n \"neg\": \"#f9958e\",\n \"posBg\": \"#3c5240\",\n \"negBg\": \"#5a3c3a\",\n \"heatLow\": \"#9c3b3b\",\n \"heatMid\": \"#161617\",\n \"heatHigh\": \"#2f7a4a\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"uppercase\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"center\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"2px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": true,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Shadowed white card, grey type, signed xG delta beside each value. pos/neg adjusted for AA.\"\n },\n \"us-census\": {\n \"id\": \"us-census\",\n \"theme\": \"us-census\",\n \"source\": \"US Census data.census.gov\",\n \"category\": \"gov\",\n \"url\": \"https://data.census.gov/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Public Sans\",\n \"titleWeight\": 700,\n \"label\": \"Public Sans\",\n \"labelWeight\": 700,\n \"body\": \"Public Sans\",\n \"bodyWeight\": 400,\n \"numeric\": \"Public Sans\",\n \"subtitle\": \"Public Sans\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#1b1b1b\",\n \"muted\": \"#5c5c5c\",\n \"accent\": \"#112e51\",\n \"rule\": \"#222222\",\n \"hline\": \"#dfe1e2\",\n \"labelBg\": \"#f0f0f0\",\n \"labelColor\": \"#1b1b1b\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#73b3e7\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#2d2e2f\",\n \"labelColor\": \"#f0f0f0\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": true,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"USWDS-based; estimate plus ±MOE pairs, (X) / N annotations, sticky geography column.\"\n },\n \"uswds-table\": {\n \"id\": \"uswds-table\",\n \"theme\": \"uswds\",\n \"source\": \"USWDS usa-table\",\n \"category\": \"gov\",\n \"url\": \"https://github.com/uswds/uswds/blob/develop/packages/uswds-core/src/styles/settings/_settings-components.scss\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Source Sans 3\",\n \"titleWeight\": 700,\n \"label\": \"Source Sans 3\",\n \"labelWeight\": 700,\n \"body\": \"Source Sans 3\",\n \"bodyWeight\": 400,\n \"numeric\": \"Source Sans 3\",\n \"subtitle\": \"Source Sans 3\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 16,\n \"body\": 16,\n \"source\": 11,\n \"padY\": 8,\n \"padX\": 16\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#1b1b1b\",\n \"muted\": \"#71767a\",\n \"accent\": \"#005ea2\",\n \"rule\": \"#1b1b1b\",\n \"hline\": \"#1b1b1b\",\n \"labelBg\": \"#dfe1e2\",\n \"labelColor\": \"#1b1b1b\",\n \"stripe\": \"#f0f0f0\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#005ea2\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#1b1b1b\",\n \"bg\": \"#1b1b1b\",\n \"text\": \"#f0f0f0\",\n \"muted\": \"#a9aeb1\",\n \"accent\": \"#73b3e7\",\n \"rule\": \"#a9aeb1\",\n \"hline\": \"#565c65\",\n \"labelBg\": \"#2d2e2f\",\n \"labelColor\": \"#f0f0f0\",\n \"stripe\": \"#252526\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#73b3e7\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Full ink #1B1B1B cell borders, #DFE1E2 header, cool-blue sorted column.\"\n },\n \"washington-post\": {\n \"id\": \"washington-post\",\n \"theme\": \"washington-post\",\n \"source\": \"The Washington Post (WPDS)\",\n \"category\": \"news\",\n \"url\": \"https://build.washingtonpost.com/foundations/color\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"WPDS dark tokens were not measured; restrained AAA greys invert faithfully to a neutral near-black.\",\n \"fonts\": {\n \"title\": \"Libre Bodoni\",\n \"titleWeight\": 700,\n \"label\": \"Libre Franklin\",\n \"labelWeight\": 700,\n \"body\": \"Libre Franklin\",\n \"bodyWeight\": 400,\n \"numeric\": \"Libre Franklin\",\n \"subtitle\": \"Gelasio\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 22,\n \"subtitle\": 15,\n \"label\": 13,\n \"body\": 14,\n \"source\": 12,\n \"padY\": 8,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#111111\",\n \"muted\": \"#595959\",\n \"accent\": \"#166dfc\",\n \"rule\": \"#111111\",\n \"hline\": \"#e9e9e9\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#111111\",\n \"stripe\": \"#f7f7f7\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1366b3\",\n \"pos\": \"#3a7a1f\",\n \"neg\": \"#be2c25\",\n \"posBg\": \"#e6f2e0\",\n \"negBg\": \"#fbe4e2\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#121212\",\n \"text\": \"#ededed\",\n \"muted\": \"#aaaaaa\",\n \"accent\": \"#5a9bff\",\n \"rule\": \"#d4d4d4\",\n \"hline\": \"#2f2f2f\",\n \"labelBg\": \"#121212\",\n \"labelColor\": \"#ededed\",\n \"stripe\": \"#1a1a1a\",\n \"summaryBg\": \"#222222\",\n \"link\": \"#6aa8ff\",\n \"pos\": \"#6cc04a\",\n \"neg\": \"#ff6b5e\",\n \"posBg\": \"#1c3317\",\n \"negBg\": \"#3d1a17\",\n \"heatLow\": \"#8a2f2b\",\n \"heatMid\": \"#1a1a1a\",\n \"heatHigh\": \"#2f7a45\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"1px solid #d4d4d4\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"bold\",\n \"mono\": false\n },\n \"notes\": \"Bodoni title over Franklin labels and figures, AAA greys; green80 darkened to #3a7a1f for AA.\"\n },\n \"whoscored\": {\n \"id\": \"whoscored\",\n \"theme\": \"whoscored\",\n \"source\": \"WhoScored\",\n \"category\": \"sports\",\n \"url\": \"https://www.whoscored.com/\",\n \"evidence\": \"estimated\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"Not measured; dark-grey header and rating badges carry over to a neutral dark.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 12,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 5,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#666666\",\n \"accent\": \"#e46c00\",\n \"rule\": \"#cccccc\",\n \"hline\": \"#e5e5e5\",\n \"labelBg\": \"#3a3a3a\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#eeeeee\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#e74c3c\",\n \"heatMid\": \"#f39c12\",\n \"heatHigh\": \"#27ae60\"\n },\n \"dark\": {\n \"page\": \"#111111\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e6e6e6\",\n \"muted\": \"#9a9a9a\",\n \"accent\": \"#ff8a2a\",\n \"rule\": \"#444444\",\n \"hline\": \"#2e2e2e\",\n \"labelBg\": \"#2e2e2e\",\n \"labelColor\": \"#ffffff\",\n \"stripe\": \"#202020\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#6fcf8a\",\n \"neg\": \"#ff8a80\",\n \"posBg\": \"#1d3324\",\n \"negBg\": \"#3a1e1e\",\n \"heatLow\": \"#c0392b\",\n \"heatMid\": \"#d68910\",\n \"heatHigh\": \"#1e8449\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": true,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"chip\",\n \"heat\": \"grade-bands\",\n \"heatColumns\": [\n \"pct\"\n ],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": false\n },\n \"notes\": \"Dark-grey header rows; rating badges green / orange / red by band. Not measured.\"\n },\n \"wikipedia\": {\n \"id\": \"wikipedia\",\n \"theme\": \"wikipedia\",\n \"source\": \"Wikipedia wikitable\",\n \"category\": \"periodical\",\n \"url\": \"https://github.com/wikimedia/mediawiki/blob/master/resources/src/mediawiki.skinning/content.tables.less\",\n \"evidence\": \"measured\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Vector 2022 night mode remaps Codex tokens.\",\n \"fonts\": {\n \"title\": \"Arimo\",\n \"titleWeight\": 700,\n \"label\": \"Arimo\",\n \"labelWeight\": 700,\n \"body\": \"Arimo\",\n \"bodyWeight\": 400,\n \"numeric\": \"Arimo\",\n \"subtitle\": \"Arimo\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 14,\n \"body\": 14,\n \"source\": 11,\n \"padY\": 3,\n \"padX\": 6\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#f8f9fa\",\n \"text\": \"#202122\",\n \"muted\": \"#54595d\",\n \"accent\": \"#3366cc\",\n \"rule\": \"#a2a9b1\",\n \"hline\": \"#a2a9b1\",\n \"labelBg\": \"#eaecf0\",\n \"labelColor\": \"#202122\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#3366cc\",\n \"pos\": \"#17692f\",\n \"neg\": \"#a1231b\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#101418\",\n \"bg\": \"#101418\",\n \"text\": \"#eaecf0\",\n \"muted\": \"#a2a9b1\",\n \"accent\": \"#88a3e8\",\n \"rule\": \"#54595d\",\n \"hline\": \"#54595d\",\n \"labelBg\": \"#27292d\",\n \"labelColor\": \"#eaecf0\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#88a3e8\",\n \"pos\": \"#5cc97a\",\n \"neg\": \"#ff7b72\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"center\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"1px solid {hline}\",\n \"frame\": \"1px solid {rule}\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Neutral grey full grid, centred #EAECF0 headers, 0.2em 0.4em padding.\"\n },\n \"wsj-markets\": {\n \"id\": \"wsj-markets\",\n \"theme\": \"wsj-markets\",\n \"source\": \"WSJ Markets data\",\n \"category\": \"finance\",\n \"url\": \"https://www.wsj.com/market-data/stocks\",\n \"evidence\": \"partial\",\n \"mode\": \"light\",\n \"darkPolicy\": \"derived\",\n \"darkNote\": \"No shipped dark look; the rule/fill structure survives a faithful inversion.\",\n \"fonts\": {\n \"title\": \"Source Serif 4\",\n \"titleWeight\": 700,\n \"label\": \"Roboto Condensed\",\n \"labelWeight\": 700,\n \"body\": \"Libre Franklin\",\n \"bodyWeight\": 400,\n \"numeric\": \"Roboto Condensed\",\n \"subtitle\": \"Libre Franklin\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#222222\",\n \"muted\": \"#555555\",\n \"accent\": \"#222222\",\n \"rule\": \"#222222\",\n \"hline\": \"#e0e0e0\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#555555\",\n \"stripe\": \"#f4f4f4\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#007bbd\",\n \"pos\": \"#0b8000\",\n \"neg\": \"#b74141\",\n \"posBg\": \"#e6f7e4\",\n \"negBg\": \"#ffeaea\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#121212\",\n \"bg\": \"#1a1a1a\",\n \"text\": \"#e8e8e8\",\n \"muted\": \"#a8a8a8\",\n \"accent\": \"#7fb2ff\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#333333\",\n \"labelBg\": \"#1a1a1a\",\n \"labelColor\": \"#a8a8a8\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#4fb3e8\",\n \"pos\": \"#3ad43a\",\n \"neg\": \"#ff7b7b\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": true,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"2px solid {rule}\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"chip\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"plain\",\n \"mono\": true\n },\n \"notes\": \"Retina Narrow numerals, short black title rule, coloured change chips (WSJ greens darkened). pos/neg AA-adjusted.\"\n },\n \"yahoo-finance\": {\n \"id\": \"yahoo-finance\",\n \"theme\": \"yahoo-finance\",\n \"source\": \"Yahoo Finance\",\n \"category\": \"finance\",\n \"url\": \"https://finance.yahoo.com/\",\n \"evidence\": \"partial\",\n \"mode\": \"both\",\n \"darkPolicy\": \"native\",\n \"darkNote\": \"Yahoo Finance ships a dark mode via --positive/--negative tokens.\",\n \"fonts\": {\n \"title\": \"Inter\",\n \"titleWeight\": 700,\n \"label\": \"Inter\",\n \"labelWeight\": 600,\n \"body\": \"Inter\",\n \"bodyWeight\": 400,\n \"numeric\": \"Inter\",\n \"subtitle\": \"Inter\",\n \"subtitleItalic\": false\n },\n \"sizes\": {\n \"title\": 18,\n \"subtitle\": 13,\n \"label\": 11,\n \"body\": 13,\n \"source\": 11,\n \"padY\": 6,\n \"padX\": 8\n },\n \"light\": {\n \"page\": \"#ffffff\",\n \"bg\": \"#ffffff\",\n \"text\": \"#232a31\",\n \"muted\": \"#5b636a\",\n \"accent\": \"#6001d2\",\n \"rule\": \"#222222\",\n \"hline\": \"#e0e4e9\",\n \"labelBg\": \"#ffffff\",\n \"labelColor\": \"#5b636a\",\n \"stripe\": \"#f5f5f5\",\n \"summaryBg\": \"#f0f0f0\",\n \"link\": \"#1a5fb4\",\n \"pos\": \"#007c00\",\n \"neg\": \"#ce0d24\",\n \"posBg\": \"#e3f3e6\",\n \"negBg\": \"#fbe5e4\",\n \"heatLow\": \"#f8696b\",\n \"heatMid\": \"#fcfcff\",\n \"heatHigh\": \"#63be7b\"\n },\n \"dark\": {\n \"page\": \"#101518\",\n \"bg\": \"#101518\",\n \"text\": \"#f0f3f5\",\n \"muted\": \"#b0b9c1\",\n \"accent\": \"#a77fff\",\n \"rule\": \"#e8e8e8\",\n \"hline\": \"#2a3238\",\n \"labelBg\": \"#101518\",\n \"labelColor\": \"#b0b9c1\",\n \"stripe\": \"#222222\",\n \"summaryBg\": \"#2a2a2a\",\n \"link\": \"#7fb2ff\",\n \"pos\": \"#3cd070\",\n \"neg\": \"#ff5c6c\",\n \"posBg\": \"#0f2e19\",\n \"negBg\": \"#3a1513\",\n \"heatLow\": \"#8a2a2a\",\n \"heatMid\": \"#2a2a2a\",\n \"heatHigh\": \"#2a6b3c\"\n },\n \"structure\": {\n \"headingAlign\": \"left\",\n \"titleTransform\": \"none\",\n \"titleTag\": false,\n \"labelTransform\": \"none\",\n \"labelTracking\": \"0\",\n \"labelAlign\": \"auto\",\n \"labelBorderTop\": \"none\",\n \"labelBorderBottom\": \"1px solid {rule}\",\n \"rowRule\": \"1px solid {hline}\",\n \"colRule\": \"none\",\n \"frame\": \"none\",\n \"tableBorderTop\": \"none\",\n \"tableBorderBottom\": \"none\",\n \"stripe\": false,\n \"card\": false,\n \"cardRadius\": 0,\n \"spanners\": false,\n \"groupBreak\": \"none\",\n \"summaryRow\": \"none\",\n \"cutAfter\": 0,\n \"cutRule\": \"2px solid {text}\",\n \"delta\": \"text\",\n \"heat\": \"none\",\n \"heatColumns\": [],\n \"rankPair\": false,\n \"teamStyle\": \"link\",\n \"mono\": false\n },\n \"notes\": \"Sticky first column, txt-positive/txt-negative coloured change text. pos/neg AA-adjusted.\"\n }\n }\n}\n","// src/themes/registry.ts — the surveyed table-style registry (data/table_themes.json) as sdvtables themes\nimport reg from \"../../data/table_themes.json\" with { type: \"json\" };\nimport { TableSpecError } from \"../errors.js\";\nimport type { ThemeRef } from \"../spec.js\";\nimport {\n type GoogleFont,\n type Theme,\n type ThemeTokens,\n baseTokens,\n densitySizes,\n fontStack,\n} from \"./tokens.js\";\n\ntype Palette = Readonly<Record<string, string | null | undefined>>;\ninterface RegistrySpec {\n readonly source: string;\n readonly category: string;\n readonly darkPolicy: string;\n readonly fonts: Readonly<Record<string, string | number | boolean | undefined>>;\n readonly sizes: TableThemeSpec[\"sizes\"];\n readonly light: Palette;\n readonly dark: Palette | null;\n readonly structure: Readonly<Record<string, unknown>>;\n}\nconst SPECS = reg.themes as unknown as Readonly<Record<string, RegistrySpec>>;\n\n// Fallbacks for palette keys a spec omits: shoot.py PALETTE_DEFAULTS plus its dark override block.\nconst DEFAULTS: Record<string, string> = {\n bg: \"#ffffff\",\n text: \"#222222\",\n muted: \"#666666\",\n accent: \"#c70000\",\n rule: \"#222222\",\n hline: \"#e5e5e5\",\n stripe: \"#f5f5f5\",\n summaryBg: \"#f0f0f0\",\n link: \"#1a5fb4\",\n pos: \"#17692f\",\n neg: \"#a1231b\",\n posBg: \"#e3f3e6\",\n negBg: \"#fbe5e4\",\n heatLow: \"#f8696b\",\n heatMid: \"#fcfcff\",\n heatHigh: \"#63be7b\",\n};\nconst DARK_DEFAULTS: Record<string, string> = {\n text: \"#e8e8e8\",\n muted: \"#a0a6ad\",\n rule: \"#e8e8e8\",\n hline: \"#2c3138\",\n stripe: \"#1c2026\",\n summaryBg: \"#2a2f36\",\n link: \"#8ab4f8\",\n pos: \"#5fd08a\",\n neg: \"#ff8a80\",\n posBg: \"#123522\",\n negBg: \"#3d1614\",\n bg: \"#14171c\",\n};\n\nfunction palette(spec: RegistrySpec, mode: \"light\" | \"dark\"): Record<string, string> {\n const p: Record<string, string> = { ...DEFAULTS, ...(mode === \"dark\" ? DARK_DEFAULTS : {}) };\n for (const [k, v] of Object.entries((mode === \"dark\" ? spec.dark : spec.light) ?? {})) if (v) p[k] = v;\n p.page ||= p.bg as string;\n p.labelBg ||= p.bg as string;\n p.labelColor ||= p.muted as string;\n return p;\n}\n\n/** Substitute `{key}` from the palette; a key the palette lacks becomes mid-grey, never a literal `{key}`. */\nconst sub = (css: unknown, p: Record<string, string>): string =>\n typeof css === \"string\" && css\n ? css.replace(/\\{(\\w+)\\}/g, (_, k: string) => (Object.hasOwn(p, k) && p[k]) || \"#888888\")\n : \"none\";\n\nfunction fontsOf(spec: RegistrySpec): GoogleFont[] {\n const f = spec.fonts;\n const faces = new Map<string, { w: Set<number>; italic: boolean }>();\n for (const role of [\"title\", \"label\", \"body\", \"numeric\", \"subtitle\"]) {\n const fam = f[role];\n if (typeof fam !== \"string\" || !fam) continue;\n const e = faces.get(fam) ?? { w: new Set<number>([400]), italic: false };\n const w = f[`${role}Weight`];\n if (typeof w === \"number\") e.w.add(w);\n if (role === \"subtitle\" && f.subtitleItalic === true) e.italic = true;\n faces.set(fam, e);\n }\n return [...faces].map(([family, e]) => ({\n family,\n weights: [...e.w].sort((a, b) => a - b),\n ...(e.italic ? { italic: true } : {}),\n }));\n}\n\n/** Spec font weights as token strings; a weight the spec omits keeps the baseTokens default. */\nfunction weights(spec: RegistrySpec): Partial<ThemeTokens> {\n const w = (k: string) => (typeof spec.fonts[k] === \"number\" ? String(spec.fonts[k]) : undefined);\n const out: Partial<ThemeTokens> = {};\n const t = w(\"titleWeight\");\n const l = w(\"labelWeight\");\n const b = w(\"bodyWeight\");\n if (t) out.titleWeight = t;\n if (l) out.labelWeight = l;\n if (b) out.bodyWeight = b;\n return out;\n}\n\n/** Why a light-only theme has no dark mode: 3 sorted dark-capable ids in its category, else 3 from any category. */\nfunction darkAdvice(category: string): string {\n const dark = Object.keys(SPECS)\n .filter((id) => SPECS[id]?.darkPolicy !== \"none\")\n .sort();\n const same = dark.filter((id) => SPECS[id]?.category === category).slice(0, 3);\n return same.length\n ? `dark-capable themes in category \"${category}\": ${same.join(\", \")}`\n : `no dark-capable themes in category \"${category}\"; try: ${dark.slice(0, 3).join(\", \")}`;\n}\n\n/** Whether `name` is a registry theme id. */\n// The CSS generic family a face falls back to, guessed from its name: the same rule as sdvplot\n// `_generic_family` and sdvplotR `.tt_generic_family`; keep the three regexes identical.\nconst MONO = /mono|code|courier/i;\nconst SERIF =\n /serif|slab|bodoni|caslon|garamond|playfair|lora|newsreader|tinos|spectral|gelasio|merriweather|crimson|fraunces/i;\nconst genericFamily = (family: string): \"monospace\" | \"serif\" | \"sans-serif\" =>\n MONO.test(family) ? \"monospace\" : SERIF.test(family) && !/sans/i.test(family) ? \"serif\" : \"sans-serif\";\n// serif and mono faces fall back to their generic; sans faces keep the house system stack (ends in sans-serif)\nconst registryFontStack = (family: string): string => {\n const g = genericFamily(family);\n return g === \"sans-serif\" ? fontStack(family) : `'${family}', ${g}`;\n};\n\nexport const isRegistryTheme = (name: string): boolean => Object.hasOwn(SPECS, name);\n\n/**\n * Resolve a surveyed registry theme (e.g. `datagolf`, `wikipedia`, `nejm`) by its source name.\n *\n * @param ref - theme name, density, and `options.mode` (`\"light\"` default, or `\"dark\"`).\n * @returns the {@link Theme}; structure features with no token (heat, delta, spanners ...) are ignored here.\n * @throws TableSpecError for an unknown name, or `mode: \"dark\"` on a light-only theme.\n */\nexport function registryTheme(ref: ThemeRef): Theme {\n const spec = Object.hasOwn(SPECS, ref.name) ? SPECS[ref.name] : undefined;\n if (!spec) throw new TableSpecError(`unknown registry theme \"${ref.name}\"`);\n const mode = ref.options?.mode ?? \"light\";\n if (mode !== \"light\" && mode !== \"dark\")\n throw new TableSpecError(`mode must be \"light\" or \"dark\", not \"${mode}\"`);\n if (mode === \"dark\" && (spec.darkPolicy === \"none\" || !spec.dark)) {\n throw new TableSpecError(`theme \"${ref.name}\" is light-only; ${darkAdvice(spec.category)}`);\n }\n const p = palette(spec, mode);\n const st = spec.structure;\n const d = densitySizes(ref.density);\n const fam = (k: string) => registryFontStack(String(spec.fonts[k] ?? spec.fonts.body ?? \"Inter\"));\n const tokens: ThemeTokens = {\n ...baseTokens(d, fam(\"body\")),\n fontTitle: fam(\"title\"),\n fontLabel: fam(\"label\"),\n bg: p.bg as string,\n text: p.text as string,\n muted: p.muted as string,\n accent: p.accent as string,\n rule: p.rule as string,\n hline: sub(st.rowRule, p),\n labelBg: p.labelBg as string,\n labelColor: p.labelColor as string,\n labelBorderTop: sub(st.labelBorderTop, p),\n labelBorderBottom: sub(st.labelBorderBottom, p),\n tableBorderTop: sub(st.tableBorderTop, p),\n tableBorderBottom: sub(st.tableBorderBottom, p),\n tableBorderX: sub(st.frame, p), // colRule has no token (engine gap G2); the left/right frame is the closest\n ...weights(spec),\n headingAlign: st.headingAlign === \"center\" ? \"center\" : \"left\",\n titleTransform: String(st.titleTransform ?? \"none\"),\n labelTransform: String(st.labelTransform ?? \"none\"),\n labelTracking: String(st.labelTracking ?? \"normal\"),\n ...(st.stripe === true ? { stripe: p.stripe as string } : {}),\n };\n return { name: ref.name, tokens, fonts: fontsOf(spec), rules: () => \"\" };\n}\n\n// Levenshtein distance, for the unknown-theme suggestions\nfunction editDistance(a: string, b: string): number {\n let prev = Array.from({ length: b.length + 1 }, (_, j) => j);\n for (let i = 1; i <= a.length; i++) {\n const cur = [i];\n for (let j = 1; j <= b.length; j++)\n cur[j] = Math.min(\n (prev[j] ?? 0) + 1,\n (cur[j - 1] ?? 0) + 1,\n (prev[j - 1] ?? 0) + (a[i - 1] === b[j - 1] ? 0 : 1),\n );\n prev = cur;\n }\n return prev[b.length] ?? 0;\n}\n/** Up to 3 names within edit distance max(2, length/3), closest first (ties by name): the unknown-theme suggestions. */\nexport function closeMatches(name: string, names: readonly string[]): string[] {\n const lim = Math.max(2, Math.floor(name.length / 3));\n return names\n .map((n) => [n, editDistance(name.toLowerCase(), n.toLowerCase())] as const)\n .filter(([, d]) => d <= lim)\n .sort((x, y) => x[1] - y[1] || x[0].localeCompare(y[0]))\n .slice(0, 3)\n .map(([n]) => n);\n}\n\n/** The keys of a resolved registry palette: each a `#rrggbb` colour. */\nexport type TableThemePaletteKey =\n | \"page\"\n | \"bg\"\n | \"text\"\n | \"muted\"\n | \"accent\"\n | \"rule\"\n | \"hline\"\n | \"labelBg\"\n | \"labelColor\"\n | \"stripe\"\n | \"summaryBg\"\n | \"link\"\n | \"pos\"\n | \"neg\"\n | \"posBg\"\n | \"negBg\"\n | \"heatLow\"\n | \"heatMid\"\n | \"heatHigh\";\n\n/**\n * One registry theme resolved in one mode, as Python's `table_theme_spec` returns it (its `TableThemeSpec`, with\n * `dark_policy` as `darkPolicy`): the surveyed fonts and sizes, the palette complete (a key the theme omits takes the\n * shared default), and the structure with every `{key}` in its border strings taken from the palette.\n */\nexport interface TableThemeSpec {\n /** The registry id, e.g. \"datagolf\". */\n readonly id: string;\n /** The surveyed source's name, e.g. \"DataGolf\". */\n readonly source: string;\n /** \"journal\", \"library\", \"finance\", \"news\", \"sports\", \"gov\" or \"periodical\". */\n readonly category: string;\n /** The faces (Google Fonts families) and their weights. */\n readonly fonts: {\n readonly title: string;\n readonly titleWeight: number;\n readonly label: string;\n readonly labelWeight: number;\n readonly body: string;\n readonly bodyWeight: number;\n readonly numeric: string;\n readonly subtitle: string;\n readonly subtitleItalic: boolean;\n };\n /** Font sizes and cell padding, in px. */\n readonly sizes: {\n readonly title: number;\n readonly subtitle: number;\n readonly label: number;\n readonly body: number;\n readonly source: number;\n readonly padY: number;\n readonly padX: number;\n };\n /** The mode's colours, complete: a key the theme omits takes the shared default. */\n readonly palette: Readonly<Record<TableThemePaletteKey, string>>;\n /** Rules, borders, stripes, heat and the rest, as the registry has them, border strings substituted. */\n readonly structure: Readonly<Record<string, unknown>>;\n /** \"native\" (the site has a dark mode), \"derived\" (sdv's own dark palette) or \"none\" (light only). */\n readonly darkPolicy: string;\n}\n\n// reactablefmtr's own themes: sdvtables' fmtr-<name>, not registry ids (the surveyed sites are <name>-site)\nconst FMTR_PORTS: readonly string[] = [\"espn\", \"fivethirtyeight\", \"pff\"];\n\n/**\n * Resolve a surveyed registry theme (e.g. `datagolf`, `wikipedia`, `nejm`) to its fonts, sizes, palette and structure,\n * as Python's `table_theme_spec` does. Pass it, resolved in the same `mode`, as `perspectiveConfig`'s `theme`\n * (`@sportsdataverse/sdvplot/perspective`).\n *\n * @param name - the theme id, as `listTableThemes()` lists it. \"espn\", \"fivethirtyeight\" and \"pff\" are reactablefmtr\n * ports (the `fmtr-espn` theme and so on), not registry ids; the surveyed look of those sites is \"espn-site\" and so on.\n * @param mode - \"light\" (default) or \"dark\".\n * @returns a new spec on every call: changing one changes no other.\n * @throws TableSpecError for an unknown `mode`, an unknown name (with up to 3 close matches), a reactablefmtr name, or\n * \"dark\" on a light-only theme (naming three dark-capable themes in its category).\n *\n * @example\n * ```ts\n * import { tableThemeSpec } from \"@sportsdataverse/sdvtables\";\n *\n * const spec = tableThemeSpec(\"datagolf\", \"dark\");\n * [spec.palette.bg, spec.fonts.body, spec.sizes.body];\n * ```\n */\nexport function tableThemeSpec(name: string, mode: \"light\" | \"dark\" = \"light\"): TableThemeSpec {\n if (mode !== \"light\" && mode !== \"dark\")\n throw new TableSpecError(`mode must be \"light\" or \"dark\", not \"${String(mode)}\"`);\n const s = Object.hasOwn(SPECS, name) ? SPECS[name] : undefined;\n if (!s) {\n if (FMTR_PORTS.includes(name))\n throw new TableSpecError(\n `\"${name}\" is a reactablefmtr port, not a registry theme: use the \"fmtr-${name}\" theme, or \"${name}-site\" for the surveyed site look`,\n );\n const close = closeMatches(name, Object.keys(SPECS));\n const hint = close.length ? `; did you mean ${close.map((c) => `\"${c}\"`).join(\", \")}?` : \"\";\n throw new TableSpecError(`unknown table theme \"${name}\"${hint} (see listTableThemes())`);\n }\n if (mode === \"dark\" && (s.darkPolicy === \"none\" || !s.dark))\n throw new TableSpecError(`theme \"${name}\" is light-only; ${darkAdvice(s.category)}`);\n const p = palette(s, mode);\n return {\n id: name,\n source: s.source,\n category: s.category,\n fonts: structuredClone(s.fonts) as TableThemeSpec[\"fonts\"],\n sizes: structuredClone(s.sizes),\n palette: p as Record<TableThemePaletteKey, string>,\n // every `{key}` sits in a border string; the rest (heatColumns ...) is copied, so the registry stays as loaded\n structure: Object.fromEntries(\n Object.entries(s.structure).map(([k, v]) => [\n k,\n typeof v === \"string\" ? sub(v, p) : structuredClone(v),\n ]),\n ),\n darkPolicy: s.darkPolicy,\n };\n}\n\n/** List registry themes, optionally only those usable in `mode` (non-`none` darkPolicy for dark) or in a `category`. */\nexport function listTableThemes(filter?: { mode?: \"light\" | \"dark\"; category?: string }): {\n id: string;\n source: string;\n category: string;\n darkPolicy: string;\n}[] {\n return Object.entries(SPECS)\n .filter(([, s]) => !(filter?.mode === \"dark\" && s.darkPolicy === \"none\"))\n .filter(([, s]) => !filter?.category || s.category === filter.category)\n .map(([id, s]) => ({ id, source: s.source, category: s.category, darkPolicy: s.darkPolicy }));\n}\n","// src/themes/almanac.ts — gt_theme_almanac (_themes.py:241-348): a slab body, narrow condensed labels, tight rows, banded stripes\nimport type { ThemeRef } from \"../spec.js\";\nimport { type Theme, baseTokens, border, densitySizes, fontStack, hexOption, px } from \"./tokens.js\";\nexport const almanac = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const accent = hexOption(ref.options?.accent ?? \"#8C2F1E\", \"accent\");\n const stripeOpt = ref.options?.stripe ?? \"#F1F1EF\";\n const stripe = stripeOpt === \"none\" ? \"transparent\" : hexOption(stripeOpt, \"stripe\"); // Python stripe=None → no banding\n const ink = \"#1A1A1A\";\n const secondary = \"#6B6B68\";\n const rule = \"#D8D8D4\";\n const bg = \"#FFFFFF\";\n const narrow = fontStack(\"Archivo Narrow\");\n return {\n name: \"almanac\",\n tokens: {\n ...baseTokens(d, fontStack(\"Zilla Slab\")),\n fontLabel: narrow,\n bg,\n text: ink,\n muted: secondary,\n accent,\n rule,\n stripe,\n headingBg: bg,\n titleColor: ink,\n titleSize: px(d.title),\n subtitleColor: secondary,\n subtitleWeight: \"400\",\n subtitleSize: px(d.subtitle),\n labelBg: bg,\n labelColor: ink,\n labelWeight: \"700\",\n labelSize: px(d.label + 1),\n labelTransform: \"uppercase\",\n labelTracking: \"0.05em\",\n labelBorderBottom: border(1.5, ink),\n labelPad: px(d.pad + 1),\n groupBg: bg,\n groupColor: accent,\n groupWeight: \"700\",\n groupSize: px(d.group + 1),\n groupTransform: \"uppercase\",\n groupBorderTop: border(1, rule),\n groupPad: px(Math.max(d.pad, 3)),\n bodySize: px(d.body),\n pad: px(d.pad),\n headingPad: px(d.pad + 2),\n sourcePad: px(d.pad + 2),\n bodyBorderBottom: border(1, ink),\n tableBorderTop: border(2, accent),\n sourceColor: secondary,\n sourceSize: px(d.source + 1),\n },\n fonts: [\n { family: \"Zilla Slab\", weights: [400, 700] },\n { family: \"Archivo Narrow\", weights: [700] },\n ],\n rules: (s) =>\n [\n `${s} th.sdvt-group{letter-spacing:0.05em}`,\n `${s} tfoot td{font-family:${narrow}}`,\n `${s} .sdvt-subtitle{display:block;padding-bottom:${px(d.pad + 6)}}${s} .sdvt-title{display:block;padding-bottom:${px(Math.ceil(d.pad / 2))}}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/athletic.ts — gt_theme_athletic (_themes.py:1317-1405): mono body, dotted row rules, column rules, black group bars.\n// Hard-coded px in Python → written at \"comfortable\" and scaled by scaleFor(density) (sdvplotR .theme_scale_output()); great_tables' own defaults (8px rows) scale too.\nimport type { ThemeRef } from \"../spec.js\";\nimport {\n type Role,\n type Theme,\n baseTokens,\n border,\n densitySizes,\n fontStack,\n px,\n scaleFor,\n} from \"./tokens.js\";\nexport const athletic = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const k = scaleFor(ref.density);\n const sz = (n: number, role: Role): string => px(n * k[role]);\n const bg = \"#FFFFFF\";\n const work = fontStack(\"Work Sans\");\n const hline = border(1.5, \"black\", \"dotted\");\n return {\n name: \"athletic\",\n tokens: {\n ...baseTokens(d, fontStack(\"Spline Sans Mono\")),\n fontLabel: work,\n fontTitle: work,\n bg,\n hline,\n titleWeight: \"650\",\n titleSize: sz(22, \"title\"),\n subtitleWeight: \"500\",\n subtitleSize: sz(14, \"subtitle\"),\n labelBg: bg,\n labelWeight: \"650\",\n labelSize: sz(12, \"label\"),\n labelTransform: \"uppercase\",\n labelBorderBottom: border(1, \"black\"),\n labelPad: sz(5, \"pad\"),\n groupBg: \"black\",\n groupColor: \"white\",\n groupWeight: \"650\",\n groupSize: sz(12, \"group\"),\n groupBorderBottom: border(1, \"black\"),\n groupPad: sz(1.5, \"pad\"),\n bodySize: sz(12, \"body\"),\n bodyWeight: \"500\",\n pad: sz(8, \"pad\"),\n headingPad: sz(4, \"pad\"),\n sourcePad: sz(4, \"pad\"),\n bodyBorderBottom: border(2, \"#D3D3D3\"),\n sourceSize: sz(10, \"source\"),\n },\n fonts: [\n { family: \"Spline Sans Mono\", weights: [500] },\n { family: \"Work Sans\", weights: [500, 650] },\n ],\n rules: (s) =>\n [\n `${s} td.sdvt-cell:not(:first-child){border-left:0.5px solid black}`,\n `${s} tbody tr:first-child td.sdvt-cell{border-top:${hline}}`, // _themes.py:1371: the dotted top rule is on EVERY body cell, the first row too\n `${s} td.sdvt-cell,${s} th.sdvt-label{text-align:center}`,\n `${s} caption{padding-top:6px;padding-bottom:0}`,\n `${s} .sdvt-subtitle{display:block;padding:0 0 4px}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/booktabs.ts — gt_theme_booktabs (_themes.py:351-448): three horizontal rules and nothing else, in a serif\nimport type { ThemeRef } from \"../spec.js\";\nimport { type Theme, baseTokens, border, densitySizes, fontStack, hexOption, px } from \"./tokens.js\";\nexport const booktabs = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const accent = hexOption(ref.options?.accent ?? \"#111111\", \"accent\");\n const ink = \"#111111\";\n const secondary = \"#5A5A5A\";\n const bg = \"#FFFFFF\";\n return {\n name: \"booktabs\",\n tokens: {\n ...baseTokens(d, fontStack(\"Tinos\")),\n bg,\n text: ink,\n muted: secondary,\n accent,\n titleColor: ink,\n titleSize: px(d.title),\n subtitleColor: secondary,\n subtitleStyle: \"italic\",\n subtitleSize: px(d.subtitle),\n labelBg: bg,\n labelColor: ink,\n labelWeight: \"700\",\n labelSize: px(d.label + 1),\n labelBorderTop: border(2, accent),\n labelBorderBottom: border(1, accent),\n labelPad: px(Math.max(d.pad - 1, 2)),\n groupBg: bg,\n groupColor: accent,\n groupWeight: \"700\",\n groupSize: px(d.group + 1),\n groupBorderTop: border(1, accent),\n groupPad: px(Math.max(d.pad - 2, 2)),\n bodySize: px(d.body),\n pad: px(d.pad),\n bodyBorderBottom: border(2, accent),\n sourceColor: secondary,\n sourceSize: px(d.source),\n },\n fonts: [{ family: \"Tinos\", weights: [400, 700], italic: true }],\n rules: (s) =>\n [\n `${s} th.sdvt-group{font-style:italic}`,\n `${s} tfoot td{padding-top:${px(d.pad + 4)}}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/broadsheet.ts — gt_theme_broadsheet (_themes.py:451-571): a serif body on warm paper, small letterspaced sans labels, hairlines\nimport type { ThemeRef } from \"../spec.js\";\nimport { type Theme, baseTokens, border, densitySizes, fontStack, hexOption, px } from \"./tokens.js\";\nconst PAPER: Readonly<Record<string, readonly [string, string]>> = {\n white: [\"#FBFAF7\", \"#DEDAD2\"],\n salmon: [\"#FFF1E5\", \"#EAD9C7\"],\n};\nexport const broadsheet = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const accent = hexOption(ref.options?.accent ?? \"#A6081A\", \"accent\");\n const paper = ref.options?.paper ?? \"white\";\n const [bg, rule] = PAPER[paper] ?? [hexOption(paper, \"paper\"), \"#DEDAD2\"];\n const ink = \"#16130F\";\n const secondary = \"#5C574F\";\n const sans = fontStack(\"Public Sans\");\n return {\n name: \"broadsheet\",\n tokens: {\n ...baseTokens(d, fontStack(\"Source Serif 4\")),\n fontTitle: fontStack(\"Newsreader\"),\n fontLabel: sans,\n bg,\n text: ink,\n muted: secondary,\n accent,\n rule,\n hline: border(1, rule),\n headingBg: bg,\n titleColor: ink,\n titleWeight: \"600\",\n titleSize: px(d.title),\n subtitleColor: secondary,\n subtitleSize: px(d.subtitle),\n subtitleStyle: \"italic\",\n labelBg: bg,\n labelColor: secondary,\n labelWeight: \"600\",\n labelSize: px(d.label),\n labelTransform: \"uppercase\",\n labelTracking: \"0.09em\",\n labelBorderBottom: border(1.5, ink),\n labelPad: px(Math.max(d.pad - 2, 2)),\n groupBg: bg,\n groupColor: accent,\n groupWeight: \"700\",\n groupSize: px(d.group),\n groupTransform: \"uppercase\",\n groupBorderTop: border(1, ink),\n groupPad: px(Math.max(d.pad - 3, 2)),\n bodySize: px(d.body),\n pad: px(d.pad),\n bodyBorderBottom: border(1, ink),\n tableBorderTop: border(2, accent),\n sourceColor: secondary,\n sourceSize: px(d.source),\n },\n fonts: [\n { family: \"Source Serif 4\", weights: [400, 600] },\n { family: \"Newsreader\", weights: [400, 600], italic: true },\n { family: \"Public Sans\", weights: [600, 700] },\n ],\n rules: (s) =>\n [\n `${s} th.sdvt-group{letter-spacing:0.08em}`,\n `${s} tr.sdvt-group-row + tr td.sdvt-cell{padding-top:${px(Math.max(d.pad - 2, 2))}}`,\n `${s} .sdvt-subtitle{display:block;font-family:var(--sdvt-font-title);padding-bottom:${px(d.pad + 8)}}${s} .sdvt-title{display:block;padding-bottom:${px(Math.ceil(d.pad / 2))}}`,\n `${s} tfoot td{font-family:${sans};padding-top:${px(d.pad + 4)}}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/brutalist.ts — gt_theme_brutalist (_themes.py:770-881): heavy black frame, knocked-out label bar, Archivo Black headline\nimport type { ThemeRef } from \"../spec.js\";\nimport { type Theme, baseTokens, border, densitySizes, fontStack, hexOption, px } from \"./tokens.js\";\nexport const brutalist = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const accent = hexOption(ref.options?.accent ?? \"#FF3B00\", \"accent\");\n const ink = \"#000000\";\n const bg = \"#FFFFFF\";\n const frame = border(3, ink);\n return {\n name: \"brutalist\",\n tokens: {\n ...baseTokens(d, fontStack(\"Archivo\")),\n fontTitle: fontStack(\"Archivo Black\"),\n bg,\n text: ink,\n muted: ink,\n accent,\n rule: ink,\n hline: border(1, ink),\n headingBg: bg,\n titleColor: ink,\n titleWeight: \"400\", // Archivo Black carries its own weight; Python sets none\n titleSize: px(d.title + 6),\n titleTransform: \"uppercase\",\n titleTracking: \"-0.02em\",\n subtitleColor: ink,\n subtitleWeight: \"600\",\n subtitleSize: px(d.subtitle),\n labelBg: ink,\n labelColor: \"#FFFFFF\",\n labelWeight: \"700\",\n labelSize: px(d.label + 1),\n labelTransform: \"uppercase\",\n labelTracking: \"0.04em\",\n labelPad: px(d.pad),\n groupBg: bg,\n groupColor: accent,\n groupWeight: \"700\",\n groupSize: px(d.group + 1),\n groupTransform: \"uppercase\",\n groupBorderTop: border(2, ink),\n groupPad: px(Math.max(d.pad - 1, 3)),\n bodySize: px(d.body),\n bodyWeight: \"500\",\n pad: px(d.pad),\n headingPad: px(d.pad + 2),\n sourcePad: px(d.pad + 2),\n tableBorderTop: frame,\n tableBorderBottom: frame,\n tableBorderX: frame,\n sourceColor: ink,\n sourceSize: px(d.source),\n },\n fonts: [\n { family: \"Archivo\", weights: [500, 600, 700] },\n { family: \"Archivo Black\", weights: [400] },\n ],\n rules: (s) =>\n [\n `${s} caption{border-bottom:3px solid ${ink}}`,\n `${s} th.sdvt-group{letter-spacing:0.06em}`,\n `${s} tfoot td{font-weight:500}`,\n `${s} .sdvt-subtitle{display:block;padding-bottom:${px(d.pad + 2)}}${s} .sdvt-title{display:block;line-height:1.05;padding-bottom:${px(Math.ceil(d.pad / 2))}}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/luminance.ts — gt::adjust_luminance(), a line-for-line port of Python `_themes._adjust_luminance` (_themes.py:179-239)\nimport { hex6 } from \"@sportsdataverse/sdvplot\";\nconst c2to3 = (x: number, y: number): [number, number, number] => [x / y, 1, (1 - x - y) / y];\n// grDevices make.rgb(): sRGB primaries and R's own D65 white point (0.3137, 0.3291)\nconst P = [c2to3(0.64, 0.33), c2to3(0.3, 0.6), c2to3(0.15, 0.06)] as const;\nconst WHITE = c2to3(0.3137, 0.3291);\nconst at = (m: readonly (readonly number[])[], i: number, j: number): number => m[i]?.[j] ?? 0;\nconst DET =\n at(P, 0, 0) * (at(P, 1, 1) * at(P, 2, 2) - at(P, 1, 2) * at(P, 2, 1)) -\n at(P, 0, 1) * (at(P, 1, 0) * at(P, 2, 2) - at(P, 1, 2) * at(P, 2, 0)) +\n at(P, 0, 2) * (at(P, 1, 0) * at(P, 2, 1) - at(P, 1, 1) * at(P, 2, 0));\nconst INV = [0, 1, 2].map((i) =>\n [0, 1, 2].map(\n (j) =>\n (at(P, (j + 1) % 3, (i + 1) % 3) * at(P, (j + 2) % 3, (i + 2) % 3) -\n at(P, (j + 1) % 3, (i + 2) % 3) * at(P, (j + 2) % 3, (i + 1) % 3)) /\n DET,\n ),\n);\nconst S = [0, 1, 2].map((j) => [0, 1, 2].reduce((acc, k) => acc + (WHITE[k] ?? 0) * at(INV, k, j), 0));\nconst M = [0, 1, 2].map((r) => [0, 1, 2].map((j) => (S[r] ?? 0) * at(P, r, j)));\n/** Shift a color's HCL luminance `steps` along a logistic curve (R's grDevices math). */\nexport function adjustLuminance(color: string, steps: number): string {\n const c = hex6(color);\n const lin = [1, 3, 5]\n .map((i) => Number.parseInt(c.slice(i, i + 2), 16) / 255)\n .map((v) => (v < 0.04045 ? v / 12.92 : ((v + 0.055) / 1.055) ** 2.4));\n const [x, y, z] = [0, 1, 2].map((j) =>\n [0, 1, 2].reduce((acc, k) => acc + (lin[k] ?? 0) * at(M, k, j), 0),\n ) as [number, number, number];\n const [wx, wy, wz] = WHITE;\n const denom = x + 15 * y + 3 * z;\n const wdenom = wx + 15 * wy + 3 * wz;\n const [u1, v1] = denom ? [(4 * x) / denom, (9 * y) / denom] : [1, 1];\n const yr = y / wy;\n let lum = yr <= 216 / 24389 ? (24389 / 27) * yr : 116 * yr ** (1 / 3) - 16;\n const u = 13 * lum * (u1 - (4 * wx) / wdenom);\n const v = 13 * lum * (v1 - (9 * wy) / wdenom);\n const hue = Math.atan2(v, u);\n const chroma = Math.hypot(u, v);\n const frac = lum / 100;\n if (frac <= 0) return \"#000000\";\n lum = frac >= 1 ? 100 : 100 / (1 + Math.exp(-(Math.log(frac / (1 - frac)) + steps)));\n // grDevices hcl(h, c, l): polar Luv back to sRGB, clamped into gamut\n const yy = 100 * (lum > 7.999592 ? ((lum + 16) / 116) ** 3 : lum / 903.3);\n const uu = (chroma * Math.cos(hue)) / (13 * lum) + 0.1978398;\n const vv = (chroma * Math.sin(hue)) / (13 * lum) + 0.4683363;\n const xx = (9 * yy * uu) / (4 * vv);\n const zz = -xx / 3 - 5 * yy + (3 * yy) / vv;\n const gamma = (t: number): number => (t > 0.00304 ? 1.055 * t ** (1 / 2.4) - 0.055 : 12.92 * t);\n const out = [\n gamma((3.240479 * xx - 1.53715 * yy - 0.498535 * zz) / 100),\n gamma((-0.969256 * xx + 1.875992 * yy + 0.041556 * zz) / 100),\n gamma((0.055648 * xx - 0.204043 * yy + 1.057311 * zz) / 100),\n ];\n return `#${out\n .map((t) =>\n Math.min(255, Math.max(0, Math.trunc(255 * t + 0.5)))\n .toString(16)\n .padStart(2, \"0\"),\n )\n .join(\"\")}`;\n}\n","// src/themes/drench.ts — gt_theme_drench (_themes.py:884-995): the whole table in one saturated hue; ink, rule and band derive from it\nimport { onColor } from \"@sportsdataverse/sdvplot\";\nimport type { ThemeRef } from \"../spec.js\";\nimport { adjustLuminance } from \"./luminance.js\";\nimport { secondaryOn } from \"./sdv.js\";\nimport { type Theme, baseTokens, border, densitySizes, fontStack, hexOption, px } from \"./tokens.js\";\nexport const drench = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const color = hexOption(ref.options?.color ?? \"#123F5E\", \"color\");\n const ink = onColor(color);\n const darkType = ink === \"#000000\";\n const rule = adjustLuminance(color, darkType ? -0.6 : 0.9); // shift the ground rather than laying gray over it\n const surface = adjustLuminance(color, darkType ? 0.5 : -0.7);\n const secondary = secondaryOn(color, ink, 4.5);\n return {\n name: \"drench\",\n tokens: {\n ...baseTokens(d, fontStack(\"Gabarito\")),\n bg: color,\n text: ink,\n muted: secondary,\n accent: ink,\n rule,\n hline: border(1, rule),\n headingBg: color,\n titleColor: ink,\n titleSize: px(d.title + 2),\n subtitleColor: secondary,\n subtitleWeight: \"400\",\n subtitleSize: px(d.subtitle),\n labelBg: color,\n labelColor: secondary,\n labelWeight: \"700\",\n labelSize: px(d.label),\n labelTransform: \"uppercase\",\n labelTracking: \"0.08em\",\n labelBorderBottom: border(1, rule),\n labelPad: px(d.pad + 1),\n groupBg: surface,\n groupColor: ink,\n groupWeight: \"700\",\n groupSize: px(d.group),\n groupTransform: \"uppercase\",\n groupPad: px(Math.max(d.pad - 1, 3)),\n bodySize: px(d.body),\n bodyWeight: \"500\",\n pad: px(d.pad + 1),\n headingPad: px(d.pad + 2),\n sourcePad: px(d.pad + 2),\n lineHeight: darkType ? \"normal\" : \"1.55\", // light type on a saturated ground reads lighter than it is\n sourceColor: secondary,\n sourceSize: px(d.source),\n },\n fonts: [{ family: \"Gabarito\", weights: [400, 500, 700] }],\n rules: (s) =>\n [\n `${s} th.sdvt-group{letter-spacing:0.06em}`,\n `${s} .sdvt-subtitle{display:block;padding-bottom:${px(d.pad + 8)}}${s} .sdvt-title{display:block;padding-bottom:${px(Math.ceil(d.pad / 2))}}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${color}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/fmtr.ts — the 27 reactablefmtr themes (reactablefmtr 2.1.0, R/themes.R), registered as `fmtr-<name>`, and\n// `fmtr-team`, the same look built from a team's colours. Every value is reactablefmtr's own, read by evaluating each\n// theme function (defaults) under R 4.6.1 and printing its reactableTheme(); where a theme leaves a value unset, the\n// reactable 0.4 stylesheet's default applies (td rule 1px #f2f2f2, header rule 2px #e6e6e6, header weight 600, a white\n// ground). CSS colour names are written as their hex (grey #808080, lightgrey #d3d3d3, lightblue #add8e6, white).\n// Values changed to pass sdvtables' contrast gate (test/a11y-contrast.test.ts) carry an `a11y:` comment naming the\n// reactablefmtr value. reactable's `highlight = TRUE` hover becomes a fill on the engine's hovered row (tr.sdvt-hover),\n// on by default in hoverdark/hoverlight; `striped = TRUE` is options.striped. Sizes are px at \"comfortable\", scaled by\n// density like the hard-coded gtUtils themes.\nimport {\n LEAGUES,\n UnresolvedTeamError,\n contrast,\n mix,\n onColor,\n resolveSync,\n teamColorsSync,\n warn,\n} from \"@sportsdataverse/sdvplot\";\nimport type { League } from \"@sportsdataverse/sdvplot\";\nimport { TableSpecError } from \"../errors.js\";\nimport type { ThemeRef } from \"../spec.js\";\nimport { SDV_CYAN, SDV_NAVY } from \"./sdv.js\";\nimport {\n SYSTEM_FONTS,\n type Theme,\n type ThemeDef,\n baseTokens,\n densitySizes,\n hexOption,\n px,\n scaleFor,\n} from \"./tokens.js\";\n\n/** One reactablefmtr theme's reactableTheme() values (unset = reactable's stylesheet default). */\ninterface Fmtr {\n /** tableStyle fontSize (the `font_size` argument) */\n readonly font: number;\n /** color (`font_color`) */\n readonly color: string;\n /** headerStyle fontSize (`header_font_size`) */\n readonly headerSize: number;\n /** headerStyle color (`header_font_color`); unset = the body colour */\n readonly headerColor?: string;\n /** style backgroundColor, else backgroundColor (`background_color`); the container's ground */\n readonly bg?: string;\n /** cellPadding (`cell_padding`) */\n readonly pad: number;\n /** borderColor / borderWidth: the rule between rows (\"none\" = no rule) */\n readonly rule?: string;\n readonly ruleWidth?: number;\n readonly stripe?: string;\n readonly highlight?: string;\n readonly headerBg?: string;\n /**\n * the header's bottom rule: headerStyle borderWidth / borderBottomColor (or borderColor); \"none\" = no rule. reactable\n * takes an unset width from the theme's borderWidth, else its stylesheet's 2px; every theme that sets a borderWidth\n * also sets headerStyle's, so unset here means 2px.\n */\n readonly headerRuleWidth?: number;\n readonly headerRule?: string;\n readonly headerBorderTop?: string;\n readonly headerPad?: number;\n readonly headerWeight?: string;\n readonly upper?: boolean;\n readonly groupBg?: string;\n readonly groupColor?: string;\n readonly groupSize?: number;\n readonly groupUpper?: boolean;\n readonly groupWeight?: string;\n readonly groupBorderTop?: string;\n /**\n * the group heading's bottom rule, when it differs from the row rule: reactable draws it (the group header's ::after)\n * at the theme's borderWidth, else 1px, in the theme's borderColor, else #e6e6e6, so a cellStyle-only border (sanfran,\n * no_lines, void) or an unset one (default) does not reach it.\n */\n readonly groupRule?: string;\n /** declarations the token set cannot carry, scoped by `s`, lengths through `p` (density-scaled px) */\n readonly css?: (s: string, p: (n: number) => string) => readonly string[];\n /** tableBodyStyle backgroundImage */\n readonly bodyImage?: string;\n /** tableStyle borderBottom */\n readonly tableBottom?: string;\n /** cellStyle background */\n readonly cellBg?: string;\n readonly hover?: boolean;\n}\n\nconst NONE = \"none\";\n/** reactablefmtr name → values. The order is reactablefmtr's (alphabetical). */\nexport const FMTR: Readonly<Record<string, Fmtr>> = {\n cerulean: {\n font: 14,\n color: \"#141415\",\n headerSize: 15,\n headerColor: \"#cfe9f7\",\n pad: 6,\n rule: \"#e9ecef\",\n ruleWidth: 1,\n stripe: \"#e9ecef\",\n highlight: \"#e9ecef\",\n headerBg: \"#136c9f\", // a11y: reactablefmtr #3ba9e8 (its #cfe9f7 labels 2.07:1)\n headerRuleWidth: 2,\n headerRule: \"#eaedf0\",\n },\n clean: {\n font: 14,\n color: \"#222222\",\n headerSize: 15,\n headerColor: \"#222222\",\n pad: 6,\n rule: \"#ffffff\",\n stripe: \"#e0e0e0\",\n highlight: \"#e0e0e0\",\n headerRuleWidth: 2,\n headerRule: \"#3b3b3b\",\n },\n cosmo: {\n font: 14,\n color: \"#141415\",\n headerSize: 15,\n headerColor: \"#ffffff\",\n bg: \"#f8f9fa\",\n pad: 6,\n rule: \"#f8f9fa\",\n ruleWidth: 1,\n stripe: \"#ffffff\",\n highlight: \"#ffffff\",\n headerBg: \"#373a3c\",\n headerRuleWidth: 2,\n },\n cyborg: {\n font: 14,\n color: \"#8e8e8e\", // a11y: reactablefmtr #888888 (4.16:1 on the #282828 stripe)\n headerSize: 15,\n headerColor: \"#7b7b7b\",\n bg: \"#060606\",\n pad: 6,\n rule: \"#888888\",\n ruleWidth: 1,\n stripe: \"#282828\",\n highlight: \"#282828\",\n headerBg: \"#060606\",\n headerRuleWidth: 2,\n },\n dark: {\n font: 15,\n color: \"#FFFFFF\",\n headerSize: 16,\n headerColor: \"#FFFFFF\",\n bg: \"#252525\",\n pad: 6,\n rule: \"#434343\",\n ruleWidth: 1,\n stripe: \"#303030\",\n highlight: \"#303030\",\n headerBg: \"#252525\",\n headerRuleWidth: 2,\n headerRule: \"#ececec\",\n groupBg: \"#252525\",\n groupColor: \"#FFFFFF\",\n groupSize: 16,\n },\n darkly: {\n font: 14,\n color: \"#ffffff\",\n headerSize: 15,\n headerColor: \"#c5cfda\", // a11y: reactablefmtr #afbdcc (3.74:1 on #375a7f)\n bg: \"#222222\",\n pad: 6,\n rule: \"#222222\",\n ruleWidth: 1,\n stripe: \"#70777e\", // a11y: reactablefmtr #adb5bd (hover/selected bar 2.07:1, white type 2.07:1)\n highlight: \"#70777e\", // a11y: reactablefmtr #adb5bd (white type 2.07:1)\n headerBg: \"#375a7f\",\n headerRuleWidth: 2,\n },\n default: {\n font: 15,\n color: \"#333333\",\n headerSize: 15,\n headerColor: \"#333333\",\n pad: 6,\n groupColor: \"#333333\",\n groupSize: 15,\n groupRule: \"1px solid #e6e6e6\",\n },\n espn: {\n font: 12,\n color: \"#59595b\", // a11y: reactablefmtr #6C6D6F (filter-box border 2.61:1)\n headerSize: 11,\n headerColor: \"#48494a\",\n pad: 7,\n rule: \"#ededed\",\n ruleWidth: 1,\n stripe: \"#fafafa\",\n highlight: \"#fafafa\",\n headerBg: \"#ffffff\",\n headerRuleWidth: 1,\n headerRule: \"#e1e2e4\",\n headerBorderTop: \"1px solid #e1e2e4\",\n headerPad: 4,\n upper: true,\n groupBg: \"#ffffff\",\n groupColor: \"#6C6D6F\",\n groupSize: 11,\n groupUpper: true,\n groupBorderTop: \"1px solid #e1e2e4\",\n css: (s) => [`${s} th.sdvt-group{border-left:1px solid #e1e2e4;border-right:1px solid #e1e2e4}`],\n },\n fivethirtyeight: {\n font: 14,\n color: \"#222222\",\n headerSize: 12,\n headerColor: \"#000000\",\n pad: 5,\n rule: \"#dddddd\",\n ruleWidth: 1,\n stripe: \"#dddddd\",\n highlight: \"#f0f0f0\",\n headerBg: \"#ffffff\",\n headerRuleWidth: 3,\n headerRule: \"#333333\", // headerStyle names borderColor twice (\"#222222\", then \"#333\"): the later one wins\n upper: true,\n groupUpper: true,\n tableBottom: \"3px solid #222222\",\n // headerStyle paddingTop 12px + verticalAlign bottom; groupHeaderStyle paddingBottom 3px\n css: (s, p) => [\n `${s} th.sdvt-label{padding-top:${p(12)};vertical-align:bottom}`,\n `${s} th.sdvt-group{padding-bottom:${p(3)}}`,\n ],\n },\n flatly: {\n font: 14,\n color: \"#212529\",\n headerSize: 15,\n headerColor: \"#ffffff\",\n pad: 6,\n rule: \"#ffffff\",\n ruleWidth: 1,\n stripe: \"#ecf0f1\",\n highlight: \"#ecf0f1\",\n headerBg: \"#2c3e50\",\n headerRuleWidth: 2,\n },\n hoverdark: {\n font: 15,\n color: \"#222222\",\n headerSize: 15,\n pad: 4,\n rule: \"#808080\",\n ruleWidth: 1,\n stripe: \"#D6D6D6\",\n highlight: \"#CACACA\",\n headerRuleWidth: 2,\n hover: true,\n },\n hoverlight: {\n font: 15,\n color: \"#ffffff\",\n headerSize: 15,\n bg: \"#000000\",\n pad: 4,\n rule: \"#808080\",\n ruleWidth: 1,\n stripe: \"#767676\", // a11y: reactablefmtr #d3d3d3 (white type and bar 1.5:1)\n highlight: \"#767676\", // a11y: reactablefmtr #d3d3d3 (1.5:1)\n headerRuleWidth: 2,\n hover: true,\n },\n journal: {\n font: 14,\n color: \"#222222\",\n headerSize: 15,\n headerColor: \"#fad9d8\",\n pad: 6,\n rule: \"#aaaaaa\",\n ruleWidth: 1,\n stripe: \"#eeeeee\",\n highlight: \"#eeeeee\",\n headerBg: \"#c41e19\", // a11y: reactablefmtr #ef8683 (its #fad9d8 labels 1.90:1)\n headerRuleWidth: 2,\n },\n lux: {\n font: 14,\n color: \"#515151\", // a11y: reactablefmtr #8c8c8c (filter-box border 2.0:1, selected bar 2.74:1)\n headerSize: 15,\n headerColor: \"#828282\", // a11y: reactablefmtr #7f7f7f (4.35:1 on #1a1a1a)\n pad: 6,\n rule: \"#f7f7f9\",\n ruleWidth: 1,\n stripe: \"#dadada\",\n highlight: \"#f7f7f9\",\n headerBg: \"#1a1a1a\",\n headerRuleWidth: 2,\n upper: true,\n groupUpper: true,\n },\n midnight: {\n font: 15,\n color: \"#818181\", // a11y: reactablefmtr #727272 (3.65:1 on the #191919 gradient stop, 4.37:1 on black)\n headerSize: 15,\n headerColor: \"#757575\", // a11y: reactablefmtr #666666 (3.66:1 on black)\n bg: \"#000000\",\n pad: 6,\n rule: NONE,\n stripe: \"#001831\", // a11y: reactablefmtr #00468c (hover/selected bar 1.71:1)\n highlight: \"#001831\", // a11y: reactablefmtr #00468c (1.71:1)\n headerBg: \"#000000\",\n headerRule: NONE,\n groupBg: \"#000000\",\n groupColor: \"#818181\", // a11y: reactablefmtr #727272 (4.37:1 on black), kept equal to the body type as in R\n groupSize: 15,\n bodyImage: \"linear-gradient(#000000, #0d0d0d, #191919)\",\n },\n midnightblue: {\n font: 15,\n color: \"#bababa\",\n headerSize: 15,\n headerColor: \"#d3d3d3\",\n bg: \"#001021\",\n pad: 6,\n rule: NONE,\n stripe: \"#00468c\",\n highlight: \"#00468c\",\n headerBg: \"#001021\",\n headerRuleWidth: 1,\n headerRule: \"#001021\",\n groupBg: \"#001021\",\n groupColor: \"#bababa\",\n groupSize: 15,\n bodyImage: \"linear-gradient(#001021, #001c3a, #002853)\",\n },\n minty: {\n font: 15,\n color: \"#525252\", // a11y: reactablefmtr #9a9a9a (filter-box border 1.84:1, selected bar 2.3:1)\n headerSize: 16,\n headerColor: \"#c9e7de\",\n pad: 6,\n rule: \"#f7f7f9\",\n ruleWidth: 1,\n stripe: \"#ededed\",\n highlight: \"#f7f7f9\",\n headerBg: \"#326e5d\", // a11y: reactablefmtr #78c2ad (its #c9e7de labels 1.58:1)\n headerRuleWidth: 2,\n },\n no_lines: {\n font: 14,\n color: \"#222222\",\n headerSize: 15,\n headerColor: \"#222222\",\n pad: 6,\n rule: NONE,\n stripe: \"#d3d3d3\",\n highlight: \"#d3d3d3\",\n headerRule: NONE,\n groupRule: \"1px solid #e6e6e6\",\n },\n nytimes: {\n font: 13,\n color: \"#333333\",\n headerSize: 11,\n headerColor: \"#767676\", // a11y: reactablefmtr #999999 (2.85:1 on white)\n pad: 5,\n rule: \"#e7e7e7\",\n ruleWidth: 1,\n stripe: \"#e7e7e7\",\n highlight: \"#eeeeee\",\n headerBg: \"#ffffff\",\n headerRule: NONE,\n headerPad: 5,\n headerWeight: \"500\",\n upper: true,\n groupUpper: true,\n groupSize: 11,\n },\n pff: {\n font: 16,\n color: \"#5a5f63\", // a11y: reactablefmtr #878e94 (filter-box border 2.16:1, selected bar 2.71:1)\n headerSize: 12,\n headerColor: \"#ffffff\",\n pad: 4,\n rule: NONE,\n stripe: \"#f9f9fb\",\n highlight: \"#f1f3f4\",\n headerBg: \"#595d63\",\n headerRuleWidth: 1,\n headerRule: \"#595d63\",\n headerBorderTop: \"1px solid #595d63\",\n headerPad: 7,\n headerWeight: \"bold\",\n upper: true,\n groupBg: \"#e4e8ed\",\n groupColor: \"#63696f\", // a11y: reactablefmtr #878e94 (2.70:1 on #e4e8ed)\n groupWeight: \"bold\",\n groupUpper: true,\n css: (s) => [`${s} th.sdvt-group{box-shadow:inset 3px 0 0 0 #ffffff}`],\n },\n sandstone: {\n font: 15,\n color: \"#3e3f3a\",\n headerSize: 16,\n headerColor: \"#72706e\", // a11y: reactablefmtr #7c7a78 (3.93:1 on #f8f5f0)\n pad: 6,\n rule: \"#f8f5f0\",\n ruleWidth: 1,\n stripe: \"#ededed\",\n highlight: \"#f8f5f0\",\n headerBg: \"#f8f5f0\",\n headerRuleWidth: 2,\n },\n sanfran: {\n font: 14,\n color: \"#222222\",\n headerSize: 15,\n headerColor: \"#212121\",\n pad: 6,\n rule: \"#ffffff\", // cellStyle borderColor; borderWidth 6: tiles on a white ground\n ruleWidth: 6,\n stripe: \"#d3d3d3\",\n highlight: \"#d3d3d3\",\n headerRule: \"#f5f5f5\",\n groupRule: \"1px solid #f5f5f5\",\n cellBg: \"#f5f5f5\",\n },\n slate: {\n font: 15,\n color: \"#b8b8b8\", // a11y: reactablefmtr #aaaaaa (3.85:1 on the #464a4d stripe)\n headerSize: 16,\n headerColor: \"#a7a9ab\", // a11y: reactablefmtr #97999b (3.72:1 on #3a3f44)\n bg: \"#272b30\",\n pad: 6,\n rule: \"#272b30\",\n ruleWidth: 1,\n stripe: \"#464a4d\",\n highlight: \"#464a4d\",\n headerBg: \"#3a3f44\",\n headerRuleWidth: 2,\n },\n spacelab: {\n font: 14,\n color: \"#585858\", // a11y: reactablefmtr #8e8e8e (filter-box border 2.07:1, selected bar 2.67:1)\n headerSize: 15,\n headerColor: \"#6b6b6b\", // a11y: reactablefmtr #8e8e8e (2.80:1 on #ededed)\n pad: 6,\n rule: \"#eeeeee\",\n ruleWidth: 1,\n stripe: \"#dadada\",\n highlight: \"#dadada\",\n headerBg: \"#ededed\",\n headerRuleWidth: 2,\n },\n sunrise: {\n font: 15,\n color: \"#403480\", // a11y: reactablefmtr #8069ff (filter-box border 2.22:1, selected bar 2.95:1, 1.69:1 on the #f98d77 gradient stop)\n headerSize: 15,\n headerColor: \"#6b51ff\", // a11y: reactablefmtr #8069ff (3.58:1 on #fffa85)\n bg: \"#fffa85\",\n pad: 6,\n rule: NONE,\n stripe: \"#add8e6\",\n highlight: \"#ffffff\",\n headerBg: \"#fffa85\",\n headerRuleWidth: 1,\n headerRule: \"#fffa85\",\n groupBg: \"#fffa85\",\n bodyImage: \"linear-gradient(#fffa85, #ffe269, #ffcb69, #f98d77)\",\n },\n superhero: {\n font: 14,\n color: \"#ebebeb\",\n headerSize: 15,\n headerColor: \"#ebebeb\",\n bg: \"#2b3e50\",\n pad: 6,\n rule: \"#2b3e50\",\n ruleWidth: 1,\n stripe: \"#4a5969\",\n highlight: \"#4a5969\",\n headerBg: \"#4e5d6c\",\n headerRuleWidth: 2,\n },\n void: {\n font: 14,\n color: \"#222222\",\n headerSize: 15,\n headerColor: \"transparent\", // void hides the column labels (they stay in the markup for screen readers)\n pad: 6,\n rule: NONE,\n stripe: \"#d3d3d3\",\n highlight: \"#d3d3d3\",\n headerRule: NONE,\n groupRule: \"1px solid #e6e6e6\",\n },\n};\n\n/** The 27 reactablefmtr theme names, as reactablefmtr spells them (`no_lines` has an underscore). */\nexport const FMTR_NAMES: readonly string[] = Object.keys(FMTR);\n/** reactablefmtr name → sdvtables theme name: `fmtr-<name>`, underscores as hyphens (`no_lines` → `fmtr-no-lines`). */\nexport const fmtrThemeName = (name: string): string => `fmtr-${name.replace(/_/g, \"-\")}`;\n\nconst num = (v: string | undefined, arg: string): number | undefined => {\n if (v === undefined) return undefined;\n const n = Number(v);\n if (!Number.isFinite(n) || n < 0)\n throw new TableSpecError(`${arg} must be a non-negative number, not \"${v}\"`);\n return n;\n};\nconst flag = (v: string | undefined, arg: string, dflt: boolean): boolean => {\n if (v === undefined) return dflt;\n if (v !== \"true\" && v !== \"false\") throw new TableSpecError(`${arg} must be \"true\" or \"false\", not \"${v}\"`);\n return v === \"true\";\n};\n\n/**\n * One theme from reactablefmtr values. Options are the theme function's own arguments (`fontSize`, `fontColor`,\n * `headerFontSize`, `headerFontColor`, `backgroundColor`, `cellPadding`) plus reactable's `striped` and `highlight`\n * (\"true\"/\"false\").\n */\nfunction build(name: string, f: Fmtr, ref: ThemeRef): Theme {\n const o = ref.options ?? {};\n const d = densitySizes(ref.density);\n const k = scaleFor(ref.density);\n const opt = (key: string): string | undefined =>\n o[key] === undefined ? undefined : hexOption(o[key], key);\n const color = opt(\"fontColor\") ?? f.color;\n const bg = opt(\"backgroundColor\") ?? f.bg ?? \"#ffffff\";\n const font = num(o.fontSize, \"fontSize\") ?? f.font;\n const headerSize = num(o.headerFontSize, \"headerFontSize\") ?? f.headerSize;\n const pad = num(o.cellPadding, \"cellPadding\") ?? f.pad;\n const striped = flag(o.striped, \"striped\", false);\n const highlight = flag(o.highlight, \"highlight\", f.hover === true);\n const body = (n: number): string => px(n * k.body);\n const p = (n: number): string => px(n * k.pad);\n const rule = f.rule ?? \"#f2f2f2\";\n const hline = rule === NONE ? NONE : `${px(f.ruleWidth ?? 1)} solid ${rule}`;\n const headerRule = f.headerRule ?? (f.rule === NONE ? NONE : (f.rule ?? \"#e6e6e6\"));\n const labelBorderBottom = headerRule === NONE ? NONE : `${px(f.headerRuleWidth ?? 2)} solid ${headerRule}`;\n const labelBg = f.headerBg ?? bg;\n return {\n name,\n tokens: {\n ...baseTokens(d, SYSTEM_FONTS),\n bg,\n text: color,\n muted: color,\n accent: f.headerBg ?? color,\n rule: rule === NONE ? \"#e6e6e6\" : rule,\n hline,\n headingBg: bg,\n labelBg,\n labelColor: opt(\"headerFontColor\") ?? f.headerColor ?? color,\n labelWeight: f.headerWeight ?? \"600\",\n labelSize: body(headerSize),\n labelTransform: f.upper ? \"uppercase\" : \"none\",\n labelBorderTop: f.headerBorderTop ?? NONE,\n labelBorderBottom,\n labelPad: p(f.headerPad ?? pad),\n groupBg: f.groupBg ?? bg,\n groupColor: f.groupColor ?? color,\n groupWeight: f.groupWeight ?? \"600\",\n groupSize: body(f.groupSize ?? headerSize),\n groupTransform: f.groupUpper ? \"uppercase\" : \"none\",\n groupBorderTop: f.groupBorderTop ?? NONE,\n groupBorderBottom: f.groupRule ?? hline,\n groupPad: p(pad),\n bodySize: body(font),\n pad: p(pad),\n headingPad: p(pad),\n sourcePad: p(pad),\n tableBorderBottom: f.tableBottom ?? NONE,\n stripe: striped && f.stripe ? f.stripe : \"transparent\",\n sourceColor: color,\n sourceSize: px(d.source),\n },\n fonts: [],\n rules: (s) =>\n [\n // reactable pads a cell on every side (cellPadding); the base sheet pads only top and bottom from the token\n `${s} td.sdvt-cell{padding-left:${p(pad)};padding-right:${p(pad)}}`,\n `${s} th.sdvt-label{padding-left:${p(f.headerPad ?? pad)};padding-right:${p(f.headerPad ?? pad)}}`,\n f.bodyImage ? `${s} tbody{background-image:${f.bodyImage}}` : \"\",\n f.cellBg ? `${s} td.sdvt-cell{background-color:${f.cellBg}}` : \"\",\n highlight && f.highlight ? `${s} tr.sdvt-hover>td.sdvt-cell{background-color:${f.highlight}}` : \"\",\n ...(f.css?.(s, p) ?? []),\n ]\n .filter(Boolean)\n .join(\"\\n\"),\n };\n}\n\n/** The 27 reactablefmtr themes, keyed by their sdvtables names (`fmtr-espn`, `fmtr-no-lines`, ...). */\nexport const FMTR_THEMES: Readonly<Record<string, ThemeDef>> = Object.fromEntries(\n FMTR_NAMES.map((n) => {\n const name = fmtrThemeName(n);\n return [name, (ref: ThemeRef): Theme => build(name, FMTR[n] as Fmtr, ref)];\n }),\n);\n\n/**\n * `fmtr-team`: reactablefmtr's `default` look with the header filled in a team's primary colour (options `league`,\n * `team`). The header ink is `onColor(primary)`; the header's bottom rule is the secondary colour unless it is too\n * pale on the table background (under 1.5:1, as sdvTeam), then the primary; the stripe and hover fills are tints of\n * the primary over the background that keep the body type above 4.5:1. Both checks use the `fontColor` and\n * `backgroundColor` overrides when given. No team: the SportsDataverse navy and cyan. A `league` without a `team`,\n * or a league sdvplot does not know, is a TableSpecError.\n */\nexport const fmtrTeam: ThemeDef = (ref) => {\n let primary = SDV_NAVY;\n let secondary = SDV_CYAN;\n const team = ref.options?.team;\n const leagueOpt = ref.options?.league;\n if (leagueOpt !== undefined && !(LEAGUES as readonly string[]).includes(leagueOpt))\n throw new TableSpecError(\n `fmtr-team options.league must be one of ${LEAGUES.join(\", \")}, not \"${leagueOpt}\"`,\n );\n if (leagueOpt !== undefined && !team)\n throw new TableSpecError(\n `fmtr-team options.league \"${leagueOpt}\" needs options.team (e.g. { league: \"nfl\", team: \"KC\" })`,\n );\n if (team) {\n const league = leagueOpt as League | undefined;\n if (!league)\n throw new TableSpecError(\n 'fmtr-team needs options.league with a team (e.g. { league: \"nfl\", team: \"KC\" })',\n );\n const id = resolveSync(team, league, { strict: true });\n if (!id) throw new UnresolvedTeamError(`${team} is not a ${league} team`);\n const p = teamColorsSync(league, id);\n if (p) {\n primary = p;\n secondary = teamColorsSync(league, id, { which: \"secondary\" }) ?? p;\n } else\n warn(\n `sdvtables:fmtr-team:${league}:${team}`,\n `no colors on file for ${league} team \"${team}\"; using the SportsDataverse colors`,\n );\n }\n const base = FMTR.default as Fmtr;\n const o = ref.options ?? {};\n // the colours the table really paints, so the checks below follow the fontColor / backgroundColor overrides\n const text = o.fontColor === undefined ? base.color : hexOption(o.fontColor, \"fontColor\");\n const ground =\n o.backgroundColor === undefined ? \"#ffffff\" : hexOption(o.backgroundColor, \"backgroundColor\");\n const tint = (t: number): string => {\n // the strongest tint of the primary at or below weight t that keeps the body type at 4.5:1, else the ground\n for (let w = t; w > 0; w -= 0.01) {\n const c = mix(ground, primary, w);\n if (contrast(text, c) >= 4.5) return c;\n }\n return ground;\n };\n return build(\n \"fmtr-team\",\n {\n ...base,\n headerBg: primary,\n headerColor: onColor(primary),\n headerRuleWidth: 3,\n headerRule: contrast(secondary, ground) >= 1.5 ? secondary : primary,\n stripe: tint(0.08),\n highlight: tint(0.16),\n groupBg: tint(0.12),\n groupColor: text, // the ink the groupBg tint was checked against, not default's fixed #333333\n },\n ref,\n );\n};\n","// src/themes/gtutils.ts — gt_theme_gtutils (_themes.py:1408-1498): cream ground, centered cells, a rule under every row but the last.\n// Hard-coded px in Python → written at \"comfortable\" and scaled by scaleFor(density). Nothing sets the table font, title or subtitle size, so\n// great_tables' defaults apply: a 16px table font, a 125% title and an 85% subtitle (percentages follow the table font, hence the body role).\nimport type { ThemeRef } from \"../spec.js\";\nimport {\n type Role,\n type Theme,\n baseTokens,\n border,\n densitySizes,\n fontStack,\n px,\n scaleFor,\n} from \"./tokens.js\";\nexport const gtutils = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const k = scaleFor(ref.density);\n const sz = (n: number, role: Role): string => px(n * k[role]);\n const bg = \"#FFFDF5\";\n const rule = \"#8A817C\";\n const signika = fontStack(\"Signika Negative\");\n return {\n name: \"gtutils\",\n tokens: {\n ...baseTokens(d, fontStack(\"Almarai\")),\n fontLabel: signika,\n fontTitle: signika,\n bg,\n rule,\n hline: border(1, rule),\n titleWeight: \"650\",\n titleSize: sz(20, \"body\"),\n subtitleWeight: \"500\",\n subtitleSize: sz(13.6, \"body\"),\n labelBg: bg,\n labelWeight: \"650\",\n labelSize: sz(14, \"label\"),\n labelBorderBottom: border(1, \"black\"),\n labelPad: \"2px\",\n groupBg: rule,\n groupColor: bg,\n groupWeight: \"650\",\n groupSize: sz(14, \"group\"),\n groupBorderBottom: border(1, \"black\"),\n groupPad: sz(1.5, \"pad\"),\n bodySize: sz(16, \"body\"),\n bodyWeight: \"500\",\n pad: sz(1, \"pad\"),\n headingPad: sz(4, \"pad\"),\n sourcePad: sz(4, \"pad\"),\n bodyBorderBottom: border(2, \"#D3D3D3\"),\n sourceSize: sz(12, \"source\"),\n },\n fonts: [\n { family: \"Almarai\", weights: [400, 500, 700] },\n { family: \"Signika Negative\", weights: [500, 650] },\n ],\n rules: (s) =>\n [\n `${s} td.sdvt-cell,${s} th.sdvt-label{text-align:center}`,\n `${s} caption{padding-top:6px;padding-bottom:0}`,\n `${s} .sdvt-subtitle{display:block;padding:0 0 4px}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/kenpom.ts — gt_theme_kenpom (_themes.py:1509-1602): Helvetica, pale-blue label and group bands, alternating row tint.\n// Hard-coded px in Python → written at \"comfortable\" and scaled by scaleFor(density). Helvetica Neue is a system face: no Google font.\nimport type { ThemeRef } from \"../spec.js\";\nimport {\n type Role,\n type Theme,\n baseTokens,\n border,\n densitySizes,\n fontStack,\n px,\n scaleFor,\n} from \"./tokens.js\";\nexport const kenpom = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const k = scaleFor(ref.density);\n const sz = (n: number, role: Role): string => px(n * k[role]);\n const bg = \"#FFFFFF\";\n const band = \"#c3d9ff\";\n const bandInk = \"#02b\";\n return {\n name: \"kenpom\",\n tokens: {\n ...baseTokens(d, fontStack(\"Helvetica Neue\")),\n bg,\n hline: border(1, \"#000000\"),\n headingAlign: \"center\",\n titleWeight: \"650\",\n titleSize: sz(18, \"title\"),\n subtitleWeight: \"500\",\n subtitleSize: sz(14, \"subtitle\"),\n labelBg: band,\n labelColor: bandInk,\n labelWeight: \"650\",\n labelSize: sz(14, \"label\"),\n labelPad: \"2px\",\n groupBg: band,\n groupColor: bandInk,\n groupWeight: \"bold\",\n groupSize: sz(14, \"group\"),\n groupBorderBottom: border(1, \"black\"),\n groupPad: sz(1.5, \"pad\"),\n bodySize: sz(16, \"body\"),\n bodyWeight: \"500\",\n pad: sz(2, \"pad\"),\n headingPad: sz(4, \"pad\"),\n sourcePad: sz(4, \"pad\"),\n bodyBorderBottom: border(2, \"white\"),\n sourceSize: sz(12, \"source\"),\n },\n fonts: [],\n rules: (s) =>\n [\n // R's odd and even rows (1-based), counted over data rows only (group rows excluded)\n `${s} tbody tr.sdvt-row:nth-child(odd of :not(.sdvt-group-row)) td.sdvt-cell{background-color:#F2FAFD}`,\n `${s} tbody tr.sdvt-row:nth-child(even of :not(.sdvt-group-row)) td.sdvt-cell{background-color:#e5ecf9}`,\n `${s} caption{padding-top:6px;padding-bottom:0}`,\n `${s} .sdvt-title,${s} .sdvt-subtitle{display:block;text-align:left}`, // the title and subtitle styles align left inside a centered heading\n `${s} .sdvt-subtitle{padding:0 0 4px}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/midnight.ts — gt_theme_midnight (_themes.py:998-1099): light type on a near-black ground, a raised label band, one cool accent\nimport type { ThemeRef } from \"../spec.js\";\nimport { type Theme, baseTokens, border, densitySizes, fontStack, hexOption, px } from \"./tokens.js\";\nexport const midnight = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const accent = hexOption(ref.options?.accent ?? \"#5B8DEF\", \"accent\"); // lowercased, as Python _color → hex6\n const ground = \"#0C0D10\";\n const surface = \"#16181D\";\n const primary = \"#E8E9ED\";\n const secondary = \"#9498A3\";\n const rule = \"#24272E\";\n return {\n name: \"midnight\",\n tokens: {\n ...baseTokens(d, fontStack(\"Chivo\")),\n bg: ground,\n text: primary,\n muted: secondary,\n accent,\n rule,\n hline: border(1, rule),\n headingBg: ground,\n titleColor: primary,\n titleWeight: \"700\",\n titleSize: px(d.title),\n subtitleColor: secondary,\n subtitleWeight: \"400\",\n subtitleSize: px(d.subtitle),\n labelBg: surface,\n labelColor: secondary,\n labelWeight: \"600\",\n labelSize: px(d.label + 1),\n labelBorderBottom: border(1, rule),\n labelPad: px(Math.max(d.pad - 1, 3)),\n groupBg: ground,\n groupColor: accent,\n groupWeight: \"700\",\n groupSize: px(d.group),\n groupBorderTop: border(1, rule),\n groupPad: px(Math.max(d.pad - 2, 2)),\n bodySize: px(d.body),\n pad: px(d.pad),\n lineHeight: \"1.55\", // light on dark reads lighter than it is\n bodyBorderBottom: border(1, rule),\n tableBorderTop: border(2, accent),\n sourceColor: secondary,\n sourceSize: px(d.source),\n },\n fonts: [{ family: \"Chivo\", weights: [400, 600, 700] }],\n rules: (s) =>\n [\n `${s} .sdvt-subtitle{display:block;padding-bottom:${px(d.pad + 8)}}${s} .sdvt-title{display:block;padding-bottom:${px(Math.ceil(d.pad / 2))}}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${ground}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/ncaa.ts — gt_theme_ncaa (_themes.py:1605-1700): Open Sans, a black uppercase label bar, charcoal group bars, striped rows, left-aligned.\n// Hard-coded px in Python → written at \"comfortable\" and scaled by scaleFor(density).\nimport type { ThemeRef } from \"../spec.js\";\nimport {\n type Role,\n type Theme,\n baseTokens,\n border,\n densitySizes,\n fontStack,\n px,\n scaleFor,\n} from \"./tokens.js\";\nexport const ncaa = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const k = scaleFor(ref.density);\n const sz = (n: number, role: Role): string => px(n * k[role]);\n const bg = \"#FFFFFF\";\n const almarai = fontStack(\"Almarai\");\n return {\n name: \"ncaa\",\n tokens: {\n ...baseTokens(d, fontStack(\"Open Sans\")),\n bg,\n stripe: \"#F4F4F4\", // opt_row_striping() default in great_tables\n hline: border(1, \"transparent\"),\n titleSize: sz(18, \"title\"),\n subtitleWeight: \"400\",\n subtitleSize: sz(14, \"subtitle\"),\n labelBg: \"#000000\",\n labelColor: \"white\",\n labelWeight: \"400\", // great_tables' column-label default; Python sets none\n labelSize: sz(14, \"label\"),\n labelTransform: \"uppercase\",\n labelBorderTop: border(1, \"black\"),\n labelPad: sz(5, \"pad\"),\n groupBg: \"#3C3A40\",\n groupColor: \"#ffffff\",\n groupWeight: \"650\",\n groupSize: sz(14, \"group\"),\n groupBorderBottom: border(1, \"black\"),\n groupPad: sz(1.5, \"pad\"),\n bodySize: sz(14, \"body\"),\n pad: sz(2, \"pad\"),\n headingPad: sz(4, \"pad\"),\n sourcePad: sz(4, \"pad\"),\n bodyBorderBottom: border(2, \"white\"),\n sourceSize: sz(12, \"source\"),\n },\n fonts: [\n { family: \"Open Sans\", weights: [400, 650, 700] },\n { family: \"Almarai\", weights: [400] },\n ],\n rules: (s) =>\n [\n `${s} th.sdvt-label,${s} td.sdvt-cell{padding:5px 5px 5px 25px;text-align:left}`,\n `${s} tfoot td{font-family:${almarai}}`,\n `${s} caption{padding-top:6px;padding-bottom:0}`,\n `${s} .sdvt-subtitle{display:block;padding:0 0 4px}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/pl.ts — gt_theme_pl (_themes.py:1703-1791): DM Sans in purple on white, a purple rule under every row but the last.\n// Hard-coded px in Python → written at \"comfortable\" and scaled by scaleFor(density). Nothing sets the title or subtitle size, so great_tables'\n// 125% / 85% of its 16px table font apply (percentages follow the table font, hence the body role); title, subtitle and notes keep its #333333.\nimport type { ThemeRef } from \"../spec.js\";\nimport {\n type Role,\n type Theme,\n baseTokens,\n border,\n densitySizes,\n fontStack,\n px,\n scaleFor,\n} from \"./tokens.js\";\nexport const pl = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const k = scaleFor(ref.density);\n const sz = (n: number, role: Role): string => px(n * k[role]);\n const bg = \"#FFFFFF\";\n const purple = \"#37003c\";\n const dim = \"#87668a\";\n return {\n name: \"pl\",\n tokens: {\n ...baseTokens(d, fontStack(\"DM Sans\")),\n bg,\n text: purple,\n muted: dim,\n rule: purple,\n hline: border(1, purple),\n titleColor: \"#333333\",\n titleWeight: \"650\",\n titleSize: sz(20, \"body\"),\n subtitleColor: \"#333333\",\n subtitleWeight: \"500\",\n subtitleSize: sz(13.6, \"body\"),\n labelBg: bg,\n labelColor: dim,\n labelWeight: \"650\",\n labelSize: sz(13, \"label\"),\n labelBorderBottom: border(1, purple),\n labelPad: sz(5, \"pad\"),\n groupBg: \"#C0BACA\",\n groupColor: \"#ffffff\",\n groupWeight: \"650\",\n groupSize: sz(12, \"group\"),\n groupBorderBottom: border(1, purple),\n groupPad: sz(1.5, \"pad\"),\n bodySize: sz(14, \"body\"),\n pad: sz(2, \"pad\"),\n headingPad: sz(4, \"pad\"),\n sourcePad: sz(4, \"pad\"),\n bodyBorderBottom: border(2, \"white\"),\n sourceColor: \"#333333\",\n sourceSize: sz(12, \"source\"),\n },\n fonts: [{ family: \"DM Sans\", weights: [500, 650] }],\n rules: (s) =>\n [\n `${s} tbody{border-top:1px solid ${purple}}`,\n `${s} th.sdvt-label{padding-bottom:3px}`,\n `${s} caption{padding-top:6px;padding-bottom:0}`,\n `${s} .sdvt-subtitle{display:block;padding:2px 0 6px}`,\n `${s} tfoot td{line-height:1.2}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/savant.ts — gt_theme_savant (_themes.py:1794-1877): Roboto Condensed, black group bars, striped rows, a centered heading.\n// Hard-coded px in Python → written at \"comfortable\" and scaled by scaleFor(density).\nimport type { ThemeRef } from \"../spec.js\";\nimport {\n type Role,\n type Theme,\n baseTokens,\n border,\n densitySizes,\n fontStack,\n px,\n scaleFor,\n} from \"./tokens.js\";\nexport const savant = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const k = scaleFor(ref.density);\n const sz = (n: number, role: Role): string => px(n * k[role]);\n const bg = \"#FFFFFF\";\n return {\n name: \"savant\",\n tokens: {\n ...baseTokens(d, fontStack(\"Roboto Condensed\")),\n bg,\n stripe: \"#F4F4F4\", // opt_row_striping() default in great_tables\n hline: border(1, \"transparent\"),\n headingAlign: \"center\",\n titleSize: sz(18, \"title\"),\n subtitleWeight: \"400\",\n subtitleSize: sz(14, \"subtitle\"),\n labelBg: bg,\n labelWeight: \"700\",\n labelSize: sz(14, \"label\"),\n labelBorderTop: border(1, \"black\"),\n labelPad: \"2px\",\n groupBg: \"#000000\",\n groupColor: \"#FFFDF5\",\n groupWeight: \"650\",\n groupSize: sz(14, \"group\"),\n groupBorderBottom: border(1, \"black\"),\n groupPad: sz(1.5, \"pad\"),\n bodySize: sz(14, \"body\"),\n pad: sz(1, \"pad\"),\n headingPad: sz(4, \"pad\"),\n sourcePad: sz(4, \"pad\"),\n bodyBorderBottom: border(2, \"white\"),\n sourceSize: sz(12, \"source\"),\n },\n fonts: [{ family: \"Roboto Condensed\", weights: [400, 650, 700] }],\n rules: (s) =>\n [\n `${s} caption{padding-top:6px;padding-bottom:0}`,\n `${s} .sdvt-subtitle{display:block;padding:0 0 4px}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/scoreboard.ts — gt_theme_scoreboard (_themes.py:1108-1209): condensed caps on a solid accent label bar\nimport { onColor } from \"@sportsdataverse/sdvplot\";\nimport type { ThemeRef } from \"../spec.js\";\nimport { type Theme, baseTokens, border, densitySizes, fontStack, hexOption, px } from \"./tokens.js\";\nexport const scoreboard = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const accent = hexOption(ref.options?.accent ?? \"#0E1621\", \"accent\");\n const ink = \"#141719\";\n const rule = \"#E6E9ED\";\n const muted = \"#5A6069\";\n const bg = \"#FFFFFF\";\n const condensed = fontStack(\"Barlow Condensed\");\n return {\n name: \"scoreboard\",\n tokens: {\n ...baseTokens(d, fontStack(\"Barlow\")),\n fontLabel: condensed,\n fontTitle: condensed,\n bg,\n text: ink,\n muted,\n accent,\n rule,\n hline: border(1, rule),\n headingBg: bg,\n titleColor: ink,\n titleSize: px(d.title + 4),\n titleTransform: \"uppercase\",\n titleTracking: \"0.01em\",\n subtitleColor: muted,\n subtitleWeight: \"500\",\n subtitleSize: px(d.subtitle + 1),\n labelBg: accent,\n labelColor: onColor(accent), // a pale accent needs dark labels, so measure it\n labelWeight: \"700\",\n labelSize: px(d.label + 2),\n labelTransform: \"uppercase\",\n labelTracking: \"0.06em\",\n labelPad: px(d.pad + 2),\n groupBg: \"#F2F4F6\",\n groupColor: accent,\n groupWeight: \"700\",\n groupSize: px(d.group + 1),\n groupTransform: \"uppercase\",\n groupPad: px(Math.max(d.pad, 3)),\n bodySize: px(d.body),\n bodyWeight: \"500\",\n pad: px(d.pad),\n headingPad: px(d.pad + 1),\n sourcePad: px(d.pad + 2),\n bodyBorderBottom: border(2, accent),\n sourceColor: muted,\n sourceSize: px(d.source),\n },\n fonts: [\n { family: \"Barlow\", weights: [500] },\n { family: \"Barlow Condensed\", weights: [500, 700] },\n ],\n rules: (s) =>\n [\n `${s} caption{letter-spacing:0.01em}`,\n `${s} th.sdvt-group{letter-spacing:0.06em}`,\n `${s} .sdvt-subtitle{display:block;font-family:var(--sdvt-font-title);padding-bottom:${px(d.pad + 6)}}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/sofa.ts — gt_theme_sofa (_themes.py:1880-1968): Sofia Sans Condensed on cream (or navy), no rules between rows.\n// Hard-coded px in Python → written at \"comfortable\" and scaled by scaleFor(density). great_tables switches the text to white on the navy ground.\nimport { TableSpecError } from \"../errors.js\";\nimport type { ThemeRef } from \"../spec.js\";\nimport {\n type Role,\n type Theme,\n baseTokens,\n border,\n densitySizes,\n fontStack,\n px,\n scaleFor,\n} from \"./tokens.js\";\nexport const sofa = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const k = scaleFor(ref.density);\n const sz = (n: number, role: Role): string => px(n * k[role]);\n const style = ref.options?.style ?? \"light\";\n if (style !== \"light\" && style !== \"dark\")\n throw new TableSpecError(`sofa theme style must be \"light\" or \"dark\", not \"${style}\"`);\n const bg = style === \"light\" ? \"#F0EAD6\" : \"#1c2632\";\n return {\n name: \"sofa\",\n tokens: {\n ...baseTokens(d, fontStack(\"Sofia Sans Condensed\")),\n bg,\n text: style === \"light\" ? \"#333333\" : \"#FFFFFF\",\n hline: border(1, \"transparent\"),\n titleSize: sz(22, \"title\"),\n subtitleWeight: \"400\",\n subtitleSize: sz(14, \"subtitle\"),\n labelBg: bg,\n labelWeight: \"bold\",\n labelSize: sz(14, \"label\"),\n labelPad: \"2px\",\n groupBg: bg,\n groupWeight: \"bold\",\n groupSize: sz(14, \"group\"),\n groupBorderBottom: border(1, \"black\"),\n groupPad: sz(1.5, \"pad\"),\n bodySize: sz(14, \"body\"),\n pad: sz(1, \"pad\"),\n headingPad: sz(4, \"pad\"),\n sourcePad: sz(4, \"pad\"),\n bodyBorderBottom: border(2, \"#D3D3D3\"),\n sourceSize: sz(10, \"source\"),\n },\n fonts: [{ family: \"Sofia Sans Condensed\", weights: [400, 650, 700] }],\n rules: (s) =>\n [\n `${s} caption{padding-top:6px;padding-bottom:0}`,\n `${s} .sdvt-subtitle{display:block;padding:0 0 4px}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/swiss.ts — gt_theme_swiss (_themes.py:574-669): generous padding does the separating, one rule under the labels\nimport type { ThemeRef } from \"../spec.js\";\nimport { type Theme, baseTokens, border, densitySizes, fontStack, hexOption, px } from \"./tokens.js\";\nexport const swiss = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const accent = hexOption(ref.options?.accent ?? \"#111111\", \"accent\");\n const ink = \"#111111\";\n const secondary = \"#6B6B6B\"; // 5.28:1 on white; #7A7A7A missed 4.5\n const bg = \"#FFFFFF\";\n return {\n name: \"swiss\",\n tokens: {\n ...baseTokens(d, fontStack(\"Archivo\")),\n bg,\n text: ink,\n muted: secondary,\n accent,\n headingBg: bg,\n titleColor: ink,\n titleSize: px(d.title + 4),\n titleTracking: \"-0.02em\",\n subtitleColor: secondary,\n subtitleWeight: \"400\",\n subtitleSize: px(d.subtitle),\n labelBg: bg,\n labelColor: ink,\n labelWeight: \"500\",\n labelSize: px(d.label),\n labelTransform: \"uppercase\",\n labelTracking: \"0.12em\",\n labelBorderBottom: border(1, accent),\n labelPad: px(d.pad + 2),\n groupBg: bg,\n groupColor: secondary,\n groupWeight: \"500\",\n groupSize: px(d.group),\n groupTransform: \"uppercase\",\n groupPad: px(d.pad + 6),\n bodySize: px(d.body),\n pad: px(d.pad + 5),\n headingPad: px(d.pad + 4),\n sourcePad: px(d.pad + 4),\n bodyBorderBottom: border(1, ink),\n sourceColor: secondary,\n sourceSize: px(d.source),\n },\n fonts: [{ family: \"Archivo\", weights: [400, 500, 700] }],\n rules: (s) =>\n [\n `${s} th.sdvt-group{letter-spacing:0.12em}`,\n `${s} .sdvt-subtitle{display:block;padding-bottom:${px(d.pad + 14)}}${s} .sdvt-title{display:block;padding-bottom:${px(Math.ceil(d.pad / 2))}}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/terminal.ts — gt_theme_terminal (_themes.py:1212-1314): monospace readout on a near-black ground, a rule on every row\nimport type { ThemeRef } from \"../spec.js\";\nimport { type Theme, baseTokens, border, densitySizes, fontStack, hexOption, px } from \"./tokens.js\";\nexport const terminal = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const accent = hexOption(ref.options?.accent ?? \"#FFB86C\", \"accent\");\n const ground = \"#0F1115\";\n const primary = \"#C9D1D9\";\n const secondary = \"#7D8590\";\n const rule = \"#262B33\";\n return {\n name: \"terminal\",\n tokens: {\n ...baseTokens(d, fontStack(\"JetBrains Mono\")),\n bg: ground,\n text: primary,\n muted: secondary,\n accent,\n rule,\n hline: border(1, rule),\n headingBg: ground,\n titleColor: primary,\n titleSize: px(d.title - 2),\n titleTransform: \"uppercase\",\n titleTracking: \"0.04em\",\n subtitleColor: secondary,\n subtitleWeight: \"400\",\n subtitleSize: px(d.subtitle - 1),\n labelBg: ground,\n labelColor: accent,\n labelWeight: \"700\",\n labelSize: px(d.label),\n labelTransform: \"uppercase\",\n labelTracking: \"0.08em\",\n labelBorderBottom: border(1, accent),\n labelPad: px(d.pad + 1),\n groupBg: ground,\n groupColor: accent,\n groupWeight: \"700\",\n groupSize: px(d.group),\n groupTransform: \"uppercase\",\n groupBorderTop: border(1, rule),\n groupPad: px(Math.max(d.pad, 3)),\n bodySize: px(d.body),\n pad: px(d.pad),\n headingPad: px(d.pad + 2),\n sourcePad: px(d.pad + 2),\n lineHeight: \"1.5\",\n tableBorderTop: border(1, accent),\n tableBorderBottom: border(1, rule),\n sourceColor: secondary,\n sourceSize: px(d.source),\n },\n fonts: [{ family: \"JetBrains Mono\", weights: [400, 700] }],\n rules: (s) =>\n [\n `${s} .sdvt-subtitle{display:block;padding-bottom:${px(d.pad + 6)}}${s} .sdvt-title{display:block;padding-bottom:2px}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${ground}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/tier.ts — gt_theme_tier (_themes.py:1971-2055): Oswald on near-black (or white), centered cells, a rule under every row but the last.\n// Hard-coded px in Python → written at \"comfortable\" and scaled by scaleFor(density). Only the title and subtitle are styled, so great_tables'\n// defaults apply elsewhere: a 16px table font, 100% labels and group rows, 90% notes (percentages follow the table font, hence the body role).\n// great_tables switches the text to white on the dark ground.\nimport { TableSpecError } from \"../errors.js\";\nimport type { ThemeRef } from \"../spec.js\";\nimport {\n type Role,\n type Theme,\n baseTokens,\n border,\n densitySizes,\n fontStack,\n px,\n scaleFor,\n} from \"./tokens.js\";\nexport const tier = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const k = scaleFor(ref.density);\n const sz = (n: number, role: Role): string => px(n * k[role]);\n const style = ref.options?.style ?? \"dark\";\n if (style !== \"light\" && style !== \"dark\")\n throw new TableSpecError(`tier theme style must be \"light\" or \"dark\", not \"${style}\"`);\n const bg = style === \"dark\" ? \"#1a1a17\" : \"#ffffff\";\n return {\n name: \"tier\",\n tokens: {\n ...baseTokens(d, fontStack(\"Oswald\")),\n bg,\n text: style === \"dark\" ? \"#FFFFFF\" : \"#333333\",\n hline: border(1, \"black\"),\n titleWeight: \"650\",\n titleSize: sz(20, \"body\"),\n subtitleWeight: \"500\",\n subtitleSize: sz(13.6, \"body\"),\n labelBg: bg,\n labelWeight: \"400\",\n labelSize: sz(16, \"body\"),\n labelPad: \"2px\",\n groupBg: bg,\n groupWeight: \"400\",\n groupSize: sz(16, \"body\"),\n groupBorderBottom: border(1, \"black\"),\n groupPad: sz(1.5, \"pad\"),\n bodySize: sz(16, \"body\"),\n bodyWeight: \"500\",\n pad: sz(1, \"pad\"),\n headingPad: sz(4, \"pad\"),\n sourcePad: sz(4, \"pad\"),\n bodyBorderBottom: border(2, \"#D3D3D3\"),\n sourceSize: sz(14.4, \"body\"),\n },\n fonts: [{ family: \"Oswald\", weights: [500, 650] }],\n rules: (s) =>\n [\n `${s} td.sdvt-cell,${s} th.sdvt-label{text-align:center}`,\n `${s} caption{padding-top:6px;padding-bottom:0}`,\n `${s} .sdvt-subtitle{display:block;padding:0 0 4px}`,\n `${s} tbody tr:last-child td{border-bottom:2px solid ${bg}}`,\n ].join(\"\\n\"),\n };\n};\n","// src/themes/tufte.ts — gt_theme_tufte (_themes.py:672-767): italic de-emphasized labels, one hairline, cream paper\nimport type { ThemeRef } from \"../spec.js\";\nimport { type Theme, baseTokens, border, densitySizes, fontStack, hexOption, px } from \"./tokens.js\";\nexport const tufte = (ref: ThemeRef): Theme => {\n const d = densitySizes(ref.density);\n const accent = hexOption(ref.options?.accent ?? \"#111111\", \"accent\");\n const ink = \"#111111\";\n const secondary = \"#6F6A60\";\n const hair = \"#C9C4B8\";\n const bg = \"#FFFFF8\";\n return {\n name: \"tufte\",\n tokens: {\n ...baseTokens(d, fontStack(\"EB Garamond\")),\n bg,\n text: ink,\n muted: secondary,\n accent,\n rule: hair,\n headingBg: bg,\n titleColor: ink,\n titleWeight: \"500\",\n titleSize: px(d.title),\n subtitleColor: secondary,\n subtitleStyle: \"italic\",\n subtitleSize: px(d.subtitle),\n labelBg: bg,\n labelColor: secondary,\n labelWeight: \"400\",\n labelStyle: \"italic\",\n labelSize: px(d.label + 2),\n labelBorderBottom: border(1, accent),\n labelPad: px(Math.max(d.pad - 1, 2)),\n groupBg: bg,\n groupColor: accent,\n groupWeight: \"600\",\n groupSize: px(d.group + 2),\n groupPad: px(Math.max(d.pad - 1, 2)),\n bodySize: px(d.body + 1),\n pad: px(d.pad),\n bodyBorderBottom: border(1, hair),\n sourceColor: secondary,\n sourceSize: px(d.source + 1),\n sourceStyle: \"italic\",\n },\n fonts: [{ family: \"EB Garamond\", weights: [400, 500, 600], italic: true }],\n rules: (s) =>\n [`${s} th.sdvt-group{font-style:italic}`, `${s} tfoot td{padding-top:${px(d.pad + 4)}}`].join(\"\\n\"),\n };\n};\n","import { TableSpecError } from \"../errors.js\";\nimport type { ThemeRef } from \"../spec.js\";\nimport { almanac } from \"./almanac.js\";\nimport { athletic } from \"./athletic.js\";\nimport { booktabs } from \"./booktabs.js\";\nimport { broadsheet } from \"./broadsheet.js\";\nimport { brutalist } from \"./brutalist.js\";\nimport { drench } from \"./drench.js\";\nimport { FMTR_THEMES, fmtrTeam } from \"./fmtr.js\";\nimport { gtutils } from \"./gtutils.js\";\nimport { kenpom } from \"./kenpom.js\";\nimport { midnight } from \"./midnight.js\";\nimport { ncaa } from \"./ncaa.js\";\nimport { pl } from \"./pl.js\";\nimport { closeMatches, isRegistryTheme, listTableThemes, registryTheme } from \"./registry.js\";\nimport { savant } from \"./savant.js\";\nimport { scoreboard } from \"./scoreboard.js\";\nimport { sdv, sdvTeam } from \"./sdv.js\";\nimport { sofa } from \"./sofa.js\";\nimport { swiss } from \"./swiss.js\";\nimport { terminal } from \"./terminal.js\";\nimport { tier } from \"./tier.js\";\nimport type { Theme, ThemeDef } from \"./tokens.js\";\nimport { tufte } from \"./tufte.js\";\nexport const THEMES: Readonly<Record<string, ThemeDef>> = {\n sdv,\n sdvTeam,\n almanac,\n athletic,\n booktabs,\n broadsheet,\n brutalist,\n drench,\n gtutils,\n kenpom,\n midnight,\n ncaa,\n pl,\n savant,\n scoreboard,\n sofa,\n swiss,\n terminal,\n tier,\n tufte,\n ...FMTR_THEMES, // the 27 reactablefmtr themes, fmtr-<name>\n \"fmtr-team\": fmtrTeam,\n};\nexport const THEME_NAMES: readonly string[] = Object.keys(THEMES);\nexport function resolveTheme(ref: ThemeRef): Theme {\n const def = THEMES[ref.name];\n if (!def && isRegistryTheme(ref.name)) return registryTheme(ref);\n if (!def) {\n const ids = listTableThemes().map((t) => t.id);\n const close = closeMatches(ref.name, [...THEME_NAMES, ...ids]);\n const hint = close.length ? `; did you mean ${close.map((c) => `\"${c}\"`).join(\", \")}?` : \"\";\n throw new TableSpecError(\n `unknown theme \"${ref.name}\"${hint} (house and fmtr themes: THEME_NAMES; the ${ids.length} registry themes: listTableThemes())`,\n );\n }\n return def(ref);\n}\nexport type { Theme, ThemeTokens, GoogleFont, ThemeDef } from \"./tokens.js\";\n/** The 27 reactablefmtr themes' sdvtables names (`fmtr-cerulean` ... `fmtr-void`), for `themePreview`. */\nexport const FMTR_THEME_NAMES: readonly string[] = Object.keys(FMTR_THEMES);\n","import type { RowFilter } from \"@sportsdataverse/sdvplot\";\nimport { TableSpecError } from \"./errors.js\";\nimport type { ColumnSpec, TableSpec } from \"./spec.js\";\n\n// J31: the row test setExternalFilter takes is sdvplot's own type, so a selection store's brush predicate fits as is\nexport type { RowFilter };\n\nexport type SortDir = \"asc\" | \"desc\";\nexport interface Sort {\n readonly col: string;\n readonly dir: SortDir;\n}\n/** A column filter as a function: tests the column's cell `value` (the whole `row` comes along for context). */\nexport type ValuePredicate<Row> = (value: unknown, row: Row) => boolean;\n/** What `setFilter` takes for a column: a predicate on its value, a case-insensitive substring, or an exact number or boolean. */\nexport type FilterValue<Row> = ValuePredicate<Row> | string | number | boolean;\nexport type Comparator = (a: unknown, b: unknown) => number;\n/** J31: what `subscribe` listeners receive. Every mutation emits exactly one event. */\nexport type TableEvent =\n | { readonly type: \"change\" }\n | { readonly type: \"hover\"; readonly id: string | null }\n | { readonly type: \"select\"; readonly ids: ReadonlySet<string> };\n/**\n * Task 10 (A45, A48): the keyboard cursor of an interactive table. `row` is the body row holding the grid's one tab\n * stop, as a page-relative index (that row's `data-row`); `col` is the column `s` sorts, null until `h`/`l` picks one.\n */\nexport interface TableCursor {\n readonly row: number;\n readonly col: string | null;\n}\n\n/** The whole user-controlled state of a table: sort, filters, page, hidden columns, and the J31 link fields. Immutable; every mutation replaces it. */\nexport interface TableState<Row> {\n readonly sort: Sort | null;\n readonly filters: Readonly<Record<string, FilterValue<Row>>>;\n readonly globalFilter: string;\n /** 0-based */\n readonly page: number;\n /** positive integer, or Infinity for \"all rows\" */\n readonly pageSize: number;\n /** column keys hidden by toggleColumn */\n readonly hidden: readonly string[];\n /** J31: set by setExternalFilter; ANDed with the column and global filters */\n readonly externalFilter: RowFilter<Row> | null;\n /** J31: row ids (see `rowId`); NOT pruned to the rows present, so a linked store's ids round-trip intact */\n readonly selection: ReadonlySet<string>;\n /** Task 10: the keyboard cursor; its row is kept on the current page */\n readonly cursor: TableCursor;\n}\n/** What `Table.getSnapshot()` returns: the state plus the derived visible page. Referentially stable until the next mutation. */\nexport interface TableSnapshot<Row> {\n readonly state: TableState<Row>;\n /** the visible page: filtered → sorted → sliced */\n readonly rows: readonly Row[];\n readonly filteredCount: number;\n /** always at least 1 */\n readonly pageCount: number;\n}\n/** Initial state for `createTable`; `pageSize` beats `spec.interactive.pageSize`, and `sort` must name a spec column. */\nexport interface TableOptions {\n readonly pageSize?: number;\n readonly sort?: Sort;\n}\n/**\n * The headless table engine: holds the rows and a `TableState`, derives the visible page, and notifies subscribers.\n * Renderers (static HTML, hydrate, React) read `rows`/`columns` and call the setters; nothing here touches the DOM.\n *\n * @example A hover set before any view attaches: the view lights it when it does (getHover)\n * ```ts\n * import { createTable, defineTable } from \"@sportsdataverse/sdvtables\";\n * import { hydrate, renderHTML } from \"@sportsdataverse/sdvtables/html\";\n *\n * // 2024 AFC: Kansas City 15 wins, Buffalo 13\n * const spec = defineTable<{ team: string; wins: number }>()\n * .columns((c) => [c.text(\"team\"), c.int(\"wins\")])\n * .rowKey(\"team\")\n * .build();\n * const table = createTable(spec, [\n * { team: \"KC\", wins: 15 },\n * { team: \"BUF\", wins: 13 },\n * ]);\n * table.setHover(\"BUF\"); // a linked figure's hover, before the table is on the page\n * table.getHover(); // \"BUF\"\n * const root = document.createElement(\"div\");\n * root.innerHTML = renderHTML(table, { fonts: false });\n * hydrate(root, table); // Buffalo's row gets sdvt-hover as it attaches\n * root;\n * ```\n */\nexport interface Table<Row> {\n readonly spec: TableSpec<Row>;\n /** the source rows: the ones given to `createTable`, or the last `setRows` */\n readonly allRows: readonly Row[];\n readonly state: TableState<Row>;\n readonly rows: readonly Row[];\n readonly filteredCount: number;\n readonly pageCount: number;\n /** visible columns in spec order */\n readonly columns: readonly ColumnSpec<Row>[];\n setSort(col: string, dir: SortDir | null): void;\n setFilter(col: string, filter: FilterValue<Row> | null | undefined): void;\n setGlobalFilter(text: string): void;\n setPage(n: number): void;\n setPageSize(n: number): void;\n toggleColumn(col: string, visible?: boolean): void;\n /**\n * Replace the source rows (a React parent's new array, a live feed). Sort, filters, the external filter, hidden\n * columns and selection are kept; the page is clamped to the new page count; one `\"change\"` event. Without a\n * `rowKey`, row ids are indices into the NEW rows, so a kept selection means the rows at those positions.\n */\n setRows(rows: readonly Row[]): void;\n /** J31: `String(row[spec.rowKey])` (\"\" when missing), else the row's index in `allRows` */\n rowId(row: Row): string;\n /** J31: same function again is a no-op; a new one resets the page */\n setExternalFilter(filter: RowFilter<Row> | null): void;\n /** J31: emits `{ type: \"select\" }`; an equal set is a no-op */\n setSelection(ids: ReadonlySet<string>): void;\n getSelection(): ReadonlySet<string>;\n /** J31: emits `{ type: \"hover\" }` without changing state; the same id twice in a row is a no-op */\n setHover(id: string | null): void;\n /**\n * J31: the last `setHover` id, or null. A view that attaches (`hydrate`) or mounts (`<SdvTable table/>`) after a\n * hover reads it, since no event comes until the hover changes.\n */\n getHover(): string | null;\n /**\n * Task 10: move the keyboard cursor. `row` is clamped to the current page; `col` must name a spec column, or be\n * null. One `\"change\"` event; an equal cursor (after clamping) is a no-op, and a non-finite `row` is ignored.\n */\n setCursor(row: number, col: string | null): void;\n subscribe(fn: (event: TableEvent) => void): () => void;\n /** referentially stable until the next mutation — what useSyncExternalStore reads */\n getSnapshot(): TableSnapshot<Row>;\n}\n\n/** Phase 4 column kinds whose values sort numerically. */\nexport const NUMERIC_KINDS: ReadonlySet<string> = new Set([\n \"num\",\n \"int\",\n \"pct\",\n \"rank\",\n \"delta\",\n \"tally\",\n \"colorPills\",\n \"colorRanks\",\n \"percentileBar\",\n \"dataBar\",\n \"iconSet\",\n \"iconAssign\",\n \"bubble\",\n \"gauge\",\n]);\n\n/** null, undefined, \"\", NaN, and an invalid `Date` are missing; `withMissingLast` sorts them last. */\nexport function isMissing(v: unknown): boolean {\n return (\n v === null ||\n v === undefined ||\n v === \"\" ||\n (typeof v === \"number\" && Number.isNaN(v)) ||\n (v instanceof Date && Number.isNaN(v.getTime()))\n );\n}\n\n// Pinned to \"en\" so the SSR process and the viewer's browser sort text identically.\nconst collator = new Intl.Collator(\"en\", { numeric: true, sensitivity: \"base\" });\nexport const compareNum: Comparator = (a, b) => Number(a) - Number(b);\n/** Text sorts under the `en` locale (numeric-aware, case- and accent-insensitive), never the host default, so server and client agree. */\nexport const compareText: Comparator = (a, b) => collator.compare(String(a), String(b));\n/** Date values compare by time; an unparsable one is missing (see `isMissing`), so the comparator stays transitive. */\nexport const compareDate: Comparator = (a, b) => {\n const t = (v: unknown): number => (v instanceof Date ? v.getTime() : new Date(String(v)).getTime());\n const x = t(a);\n const y = t(b);\n return Number.isNaN(x) || Number.isNaN(y) ? 0 : x - y;\n};\n\nconst fieldOf = <Row>(row: Row, key: string): unknown => (row as Record<string, unknown>)[key];\n\n/**\n * The comparator `applySort` uses for `col`: its own `compare`, else numeric for a numeric kind or numeric samples, by\n * time for `Date` samples, else `en`-locale text.\n * Engine plumbing for custom renderers: it may change before 1.0.\n *\n * @beta\n */\nexport function comparatorFor<Row>(col: ColumnSpec<Row>, rows: readonly Row[]): Comparator {\n if (col.compare) return col.compare as Comparator; // Phase 4 types it on Row[K]; the engine compares unknowns\n if (NUMERIC_KINDS.has(col.kind)) return compareNum;\n const sample = rows.map((r) => fieldOf(r, col.key)).find((v) => !isMissing(v));\n return typeof sample === \"number\" ? compareNum : sample instanceof Date ? compareDate : compareText;\n}\n\n/** Missing values sort last in BOTH directions; never returns NaN. */\nexport function withMissingLast(cmp: Comparator, dir: SortDir): Comparator {\n return (a, b) => {\n const ma = isMissing(a);\n const mb = isMissing(b);\n if (ma || mb) return ma === mb ? 0 : ma ? 1 : -1;\n const c = cmp(a, b);\n if (Number.isNaN(c)) return 0;\n return dir === \"asc\" ? c : -c;\n };\n}\n\n/**\n * The spec's column with this key; throws `TableSpecError` naming every column when there is none.\n * Engine plumbing for custom renderers: it may change before 1.0.\n *\n * @beta\n */\nexport function findColumn<Row>(spec: TableSpec<Row>, key: string): ColumnSpec<Row> {\n const col = spec.columns.find((c) => c.key === key);\n if (!col)\n throw new TableSpecError(\n `unknown column \"${key}\"; columns are ${spec.columns.map((c) => c.key).join(\", \")}`,\n );\n return col;\n}\n\n/**\n * A sorted copy of `rows` (stable; missing values last in both directions); `sort` null keeps the input order.\n * Engine plumbing for custom renderers: it may change before 1.0.\n *\n * @beta\n */\nexport function applySort<Row>(spec: TableSpec<Row>, rows: readonly Row[], sort: Sort | null): Row[] {\n if (!sort) return [...rows];\n const col = findColumn(spec, sort.col);\n const cmp = withMissingLast(comparatorFor(col, rows), sort.dir);\n // Array.prototype.sort is stable since ES2019, so ties keep input order.\n return [...rows].sort((a, b) => cmp(fieldOf(a, col.key), fieldOf(b, col.key)));\n}\n\nexport function matches<Row>(filter: FilterValue<Row>, value: unknown, row: Row): boolean {\n if (typeof filter === \"function\") return filter(value, row);\n if (typeof filter === \"string\")\n return String(value ?? \"\")\n .toLowerCase()\n .includes(filter.toLowerCase());\n return value === filter;\n}\n\n// ponytail: O(rows × columns) scan per change; index the lower-cased text if tables pass ~50k rows.\n/**\n * The rows `state` keeps, in input order: its external filter, every column filter and the global search over the\n * visible columns, all ANDed.\n * Engine plumbing for custom renderers: it may change before 1.0.\n *\n * @beta\n */\nexport function applyFilters<Row>(spec: TableSpec<Row>, rows: readonly Row[], state: TableState<Row>): Row[] {\n const active = Object.entries(state.filters).map(([key, f]) => [findColumn(spec, key), f] as const);\n const q = state.globalFilter.trim().toLowerCase();\n const searchable = spec.columns.filter((c) => !state.hidden.includes(c.key));\n const external = state.externalFilter;\n return rows.filter(\n (row) =>\n (external === null || external(row)) &&\n active.every(([col, f]) => matches(f, fieldOf(row, col.key), row)) &&\n (q === \"\" ||\n searchable.some((c) =>\n String(fieldOf(row, c.key) ?? \"\")\n .toLowerCase()\n .includes(q),\n )),\n );\n}\n\n/**\n * Page `page` (0-based, clamped to the pages there are) of `rows` at `pageSize` (Infinity: all of them), and the\n * page count, at least 1.\n * Engine plumbing for custom renderers: it may change before 1.0.\n *\n * @beta\n */\nexport function paginate<Row>(\n rows: readonly Row[],\n page: number,\n pageSize: number,\n): { rows: Row[]; pageCount: number } {\n const pageCount = Math.max(1, Math.ceil(rows.length / pageSize)); // n / Infinity → 0 → 1 page\n const p = Math.min(Math.max(0, page), pageCount - 1);\n const slice =\n pageSize === Number.POSITIVE_INFINITY ? [...rows] : rows.slice(p * pageSize, (p + 1) * pageSize);\n return { rows: slice, pageCount };\n}\n\n/** Header-click cycle shared by hydrate and React: asc → desc → none. */\nexport function nextSortDir(current: Sort | null, col: string): SortDir | null {\n if (!current || current.col !== col) return \"asc\";\n return current.dir === \"asc\" ? \"desc\" : null;\n}\n\nfunction checkPageSize(n: number): number {\n if (n === Number.POSITIVE_INFINITY) return n;\n if (!Number.isInteger(n) || n < 1)\n throw new TableSpecError(`pageSize must be a positive integer or Infinity, got ${String(n)}`);\n return n;\n}\n\nconst sameSet = (a: ReadonlySet<string>, b: ReadonlySet<string>): boolean =>\n a.size === b.size && [...a].every((id) => b.has(id));\nconst CHANGE: TableEvent = { type: \"change\" };\n\n/**\n * Build a headless `Table` over `rows`: sort, filter, paginate, hide columns, and subscribe to changes.\n * Throws `TableSpecError` for an unknown column or an invalid page size; never mutates `rows`.\n */\nexport function createTable<Row>(\n spec: TableSpec<Row>,\n rows: readonly Row[],\n options: TableOptions = {},\n): Table<Row> {\n if (options.sort) findColumn(spec, options.sort.col);\n let state: TableState<Row> = {\n sort: options.sort ?? null,\n filters: {},\n globalFilter: \"\",\n page: 0,\n pageSize: checkPageSize(options.pageSize ?? spec.interactive?.pageSize ?? Number.POSITIVE_INFINITY),\n hidden: [],\n externalFilter: null,\n selection: new Set(),\n cursor: { row: 0, col: null },\n };\n const listeners = new Set<(event: TableEvent) => void>();\n const emit = (event: TableEvent): void => {\n for (const fn of [...listeners]) fn(event);\n };\n const key = spec.rowKey;\n let source = rows;\n let indexOf: Map<Row, number> | null = null;\n let warned = false;\n const rowId = (row: Row): string => {\n if (key === undefined) {\n const i = indexOf?.get(row);\n return i === undefined ? \"\" : String(i);\n }\n const v = fieldOf(row, key);\n return isMissing(v) ? \"\" : String(v);\n };\n const setSource = (next: readonly Row[]): void => {\n source = next;\n if (key === undefined) {\n indexOf = new Map(next.map((r, i) => [r, i] as const));\n return;\n }\n if (warned) return;\n // Duplicate ids collapse to one link id (selecting one highlights all); say so once per table.\n const ids = next.map(rowId).filter((id) => id !== \"\");\n const dupes = ids.length - new Set(ids).size;\n if (dupes > 0) {\n warned = true;\n console.warn(\n `sdvtables: rowKey \"${key}\" is not unique — ${dupes} duplicate id(s); linked selection will merge them`,\n );\n }\n };\n setSource(rows);\n let hovered: string | null = null;\n const compute = (): TableSnapshot<Row> => {\n const filtered = applyFilters(spec, source, state);\n const sorted = applySort(spec, filtered, state.sort);\n const { rows: pageRows, pageCount } = paginate(sorted, state.page, state.pageSize);\n return { state, rows: pageRows, filteredCount: filtered.length, pageCount };\n };\n let snapshot = compute();\n const update = (patch: Partial<TableState<Row>>, event: TableEvent = CHANGE): void => {\n state = { ...state, ...patch };\n snapshot = compute();\n if (state.page > snapshot.pageCount - 1) {\n state = { ...state, page: snapshot.pageCount - 1 };\n snapshot = compute();\n }\n const last = Math.max(0, snapshot.rows.length - 1);\n if (state.cursor.row > last) {\n // Task 10: a filter, page or new rows that shrink the page pull the cursor row back onto it\n state = { ...state, cursor: { ...state.cursor, row: last } };\n snapshot = { ...snapshot, state };\n }\n emit(event);\n };\n return {\n spec,\n get allRows() {\n return source;\n },\n get state() {\n return snapshot.state;\n },\n get rows() {\n return snapshot.rows;\n },\n get filteredCount() {\n return snapshot.filteredCount;\n },\n get pageCount() {\n return snapshot.pageCount;\n },\n get columns() {\n return spec.columns.filter((c) => !snapshot.state.hidden.includes(c.key));\n },\n setSort(col, dir) {\n if (dir !== null) findColumn(spec, col);\n update({ sort: dir === null ? null : { col, dir }, page: 0 });\n },\n setFilter(col, filter) {\n findColumn(spec, col);\n const { [col]: _dropped, ...rest } = state.filters;\n const filters =\n filter === null || filter === undefined || filter === \"\" ? rest : { ...rest, [col]: filter };\n update({ filters, page: 0 });\n },\n setGlobalFilter(text) {\n update({ globalFilter: text, page: 0 });\n },\n setPage(n) {\n if (!Number.isFinite(n)) return; // NaN/±Infinity: a caller bug, not a page\n update({ page: Math.max(0, Math.min(Math.trunc(n), snapshot.pageCount - 1)) });\n },\n setPageSize(n) {\n update({ pageSize: checkPageSize(n), page: 0 });\n },\n toggleColumn(col, visible) {\n findColumn(spec, col);\n const hiddenNow = state.hidden.includes(col);\n const hide = visible === undefined ? !hiddenNow : !visible;\n const hidden = hide\n ? hiddenNow\n ? state.hidden\n : [...state.hidden, col]\n : state.hidden.filter((c) => c !== col);\n update({ hidden, sort: hide && state.sort?.col === col ? null : state.sort });\n },\n setRows(next) {\n setSource(next);\n update({}); // every state field kept; update re-clamps the page and emits once\n },\n rowId,\n setExternalFilter(filter) {\n if (filter === state.externalFilter) return; // no recompute, no echo: the J31 loop guard\n update({ externalFilter: filter, page: 0 });\n },\n setSelection(ids) {\n if (sameSet(ids, state.selection)) return;\n const selection: ReadonlySet<string> = new Set(ids); // a copy: the caller may reuse its set\n update({ selection }, { type: \"select\", ids: selection });\n },\n getSelection: () => state.selection,\n setCursor(row, col) {\n if (!Number.isFinite(row)) return; // as setPage: NaN/±Infinity is a caller bug, not a row\n if (col !== null) findColumn(spec, col);\n const r = Math.max(0, Math.min(Math.trunc(row), snapshot.rows.length - 1));\n if (r === state.cursor.row && col === state.cursor.col) return;\n update({ cursor: { row: r, col } });\n },\n setHover(id) {\n if (id === hovered) return;\n hovered = id;\n emit({ type: \"hover\", id });\n },\n getHover: () => hovered,\n subscribe(fn) {\n listeners.add(fn);\n return () => {\n listeners.delete(fn);\n };\n },\n getSnapshot: () => snapshot,\n };\n}\n"]}
|