@putdotio/design 2.0.2 → 3.0.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.
@@ -1229,6 +1229,21 @@
1229
1229
  "value": "hsl(5, 100%, 91%)",
1230
1230
  "originalValue": "{color.red.dark.text}"
1231
1231
  },
1232
+ "component.notification.badgeBackground": {
1233
+ "cssName": "--notification-badge-bg",
1234
+ "type": "color",
1235
+ "mode": "global",
1236
+ "value": "hsl(358, 70%, 45%)",
1237
+ "originalValue": "hsl(358, 70%, 45%)",
1238
+ "description": "Unread count disc — darkened red so white numerals clear AA at 9px. Fixed in both modes."
1239
+ },
1240
+ "component.notification.badgeForeground": {
1241
+ "cssName": "--notification-badge-fg",
1242
+ "type": "color",
1243
+ "mode": "global",
1244
+ "value": "hsl(0, 0%, 100%)",
1245
+ "originalValue": "{component.alias.destructiveForeground}"
1246
+ },
1232
1247
  "component.menu.background": {
1233
1248
  "cssName": "--menu-bg",
1234
1249
  "type": "color",
@@ -1583,6 +1598,517 @@
1583
1598
  "originalValue": "380px",
1584
1599
  "description": "Fixed on web. Touch surfaces use a bottom sheet instead."
1585
1600
  },
1601
+ "component.avatar.yellow": {
1602
+ "cssName": "--avatar-yellow",
1603
+ "type": "color",
1604
+ "mode": "global",
1605
+ "value": "hsl(44.7, 97.9%, 63.1%)",
1606
+ "originalValue": "{color.brand.yellow}",
1607
+ "description": "Initial-on-color avatar palette. Fixed in both modes; the chip carries its own contrast."
1608
+ },
1609
+ "component.avatar.green": {
1610
+ "cssName": "--avatar-green",
1611
+ "type": "color",
1612
+ "mode": "global",
1613
+ "value": "hsl(151, 55%, 33%)",
1614
+ "originalValue": "hsl(151, 55%, 33%)"
1615
+ },
1616
+ "component.avatar.red": {
1617
+ "cssName": "--avatar-red",
1618
+ "type": "color",
1619
+ "mode": "global",
1620
+ "value": "hsl(358, 55%, 46%)",
1621
+ "originalValue": "hsl(358, 55%, 46%)"
1622
+ },
1623
+ "component.avatar.blue": {
1624
+ "cssName": "--avatar-blue",
1625
+ "type": "color",
1626
+ "mode": "global",
1627
+ "value": "hsl(211, 55%, 46%)",
1628
+ "originalValue": "hsl(211, 55%, 46%)"
1629
+ },
1630
+ "component.avatar.purple": {
1631
+ "cssName": "--avatar-purple",
1632
+ "type": "color",
1633
+ "mode": "global",
1634
+ "value": "hsl(280, 48%, 46%)",
1635
+ "originalValue": "hsl(280, 48%, 46%)"
1636
+ },
1637
+ "component.avatar.teal": {
1638
+ "cssName": "--avatar-teal",
1639
+ "type": "color",
1640
+ "mode": "global",
1641
+ "value": "hsl(168, 55%, 33%)",
1642
+ "originalValue": "hsl(168, 55%, 33%)"
1643
+ },
1644
+ "component.avatar.orange": {
1645
+ "cssName": "--avatar-orange",
1646
+ "type": "color",
1647
+ "mode": "global",
1648
+ "value": "hsl(28, 80%, 55%)",
1649
+ "originalValue": "hsl(28, 80%, 55%)"
1650
+ },
1651
+ "component.avatar.foreground": {
1652
+ "cssName": "--avatar-fg",
1653
+ "type": "color",
1654
+ "mode": "global",
1655
+ "value": "hsl(0, 0%, 100%)",
1656
+ "originalValue": "{component.alias.destructiveForeground}",
1657
+ "description": "White initials — every palette entry except yellow and orange."
1658
+ },
1659
+ "component.avatar.foregroundWarm": {
1660
+ "cssName": "--avatar-fg-warm",
1661
+ "type": "color",
1662
+ "mode": "global",
1663
+ "value": "hsl(38, 65%, 10%)",
1664
+ "originalValue": "{component.alias.primaryForeground}",
1665
+ "description": "Warm dark initials on yellow and orange."
1666
+ },
1667
+ "component.alert.radius": {
1668
+ "cssName": "--alert-radius",
1669
+ "type": "dimension",
1670
+ "mode": "global",
1671
+ "value": "6px",
1672
+ "originalValue": "{radius.default}",
1673
+ "description": "Inline, in-page messaging. Persists until the condition clears — a toast does not."
1674
+ },
1675
+ "component.alert.infoBackground": {
1676
+ "cssName": "--alert-info-bg",
1677
+ "type": "color",
1678
+ "mode": "light",
1679
+ "value": "hsl(0, 0%, 97.3%)",
1680
+ "originalValue": "{color.neutral.light.bgSecondary}"
1681
+ },
1682
+ "component.alert.infoBackgroundDark": {
1683
+ "cssName": "--alert-info-bg",
1684
+ "type": "color",
1685
+ "mode": "dark",
1686
+ "value": "hsl(0, 0%, 11.0%)",
1687
+ "originalValue": "{color.neutral.dark.bgSecondary}"
1688
+ },
1689
+ "component.alert.infoBorder": {
1690
+ "cssName": "--alert-info-border",
1691
+ "type": "color",
1692
+ "mode": "light",
1693
+ "value": "hsl(0, 0%, 88.7%)",
1694
+ "originalValue": "{color.neutral.light.line}"
1695
+ },
1696
+ "component.alert.infoBorderDark": {
1697
+ "cssName": "--alert-info-border",
1698
+ "type": "color",
1699
+ "mode": "dark",
1700
+ "value": "hsl(0, 0%, 20.5%)",
1701
+ "originalValue": "{color.neutral.dark.line}"
1702
+ },
1703
+ "component.alert.infoText": {
1704
+ "cssName": "--alert-info-text",
1705
+ "type": "color",
1706
+ "mode": "light",
1707
+ "value": "hsl(0, 0%, 9.0%)",
1708
+ "originalValue": "{color.neutral.light.text}"
1709
+ },
1710
+ "component.alert.infoTextDark": {
1711
+ "cssName": "--alert-info-text",
1712
+ "type": "color",
1713
+ "mode": "dark",
1714
+ "value": "hsl(0, 0%, 93.0%)",
1715
+ "originalValue": "{color.neutral.dark.text}"
1716
+ },
1717
+ "component.alert.infoBody": {
1718
+ "cssName": "--alert-info-body",
1719
+ "type": "color",
1720
+ "mode": "light",
1721
+ "value": "hsl(0, 0%, 43.5%)",
1722
+ "originalValue": "{color.neutral.light.textSecondary}"
1723
+ },
1724
+ "component.alert.infoBodyDark": {
1725
+ "cssName": "--alert-info-body",
1726
+ "type": "color",
1727
+ "mode": "dark",
1728
+ "value": "hsl(0, 0%, 62.8%)",
1729
+ "originalValue": "{color.neutral.dark.textSecondary}"
1730
+ },
1731
+ "component.alert.infoIcon": {
1732
+ "cssName": "--alert-info-icon",
1733
+ "type": "color",
1734
+ "mode": "light",
1735
+ "value": "hsl(0, 0%, 43.5%)",
1736
+ "originalValue": "{color.neutral.light.textSecondary}"
1737
+ },
1738
+ "component.alert.infoIconDark": {
1739
+ "cssName": "--alert-info-icon",
1740
+ "type": "color",
1741
+ "mode": "dark",
1742
+ "value": "hsl(0, 0%, 62.8%)",
1743
+ "originalValue": "{color.neutral.dark.textSecondary}"
1744
+ },
1745
+ "component.alert.brandBackground": {
1746
+ "cssName": "--alert-brand-bg",
1747
+ "type": "color",
1748
+ "mode": "light",
1749
+ "value": "hsl(52, 100%, 88%)",
1750
+ "originalValue": "{color.yellow.light.componentBg}"
1751
+ },
1752
+ "component.alert.brandBackgroundDark": {
1753
+ "cssName": "--alert-brand-bg",
1754
+ "type": "color",
1755
+ "mode": "dark",
1756
+ "value": "hsl(45, 70%, 9%)",
1757
+ "originalValue": "{color.yellow.dark.componentBg}"
1758
+ },
1759
+ "component.alert.brandBorder": {
1760
+ "cssName": "--alert-brand-border",
1761
+ "type": "color",
1762
+ "mode": "light",
1763
+ "value": "hsl(45, 67%, 67%)",
1764
+ "originalValue": "{color.yellow.light.border}"
1765
+ },
1766
+ "component.alert.brandBorderDark": {
1767
+ "cssName": "--alert-brand-border",
1768
+ "type": "color",
1769
+ "mode": "dark",
1770
+ "value": "hsl(45, 53%, 26%)",
1771
+ "originalValue": "{color.yellow.dark.border}"
1772
+ },
1773
+ "component.alert.brandText": {
1774
+ "cssName": "--alert-brand-text",
1775
+ "type": "color",
1776
+ "mode": "light",
1777
+ "value": "hsl(43, 32%, 21%)",
1778
+ "originalValue": "{color.yellow.light.text}"
1779
+ },
1780
+ "component.alert.brandTextDark": {
1781
+ "cssName": "--alert-brand-text",
1782
+ "type": "color",
1783
+ "mode": "dark",
1784
+ "value": "hsl(46, 89%, 86%)",
1785
+ "originalValue": "{color.yellow.dark.text}"
1786
+ },
1787
+ "component.alert.brandBody": {
1788
+ "cssName": "--alert-brand-body",
1789
+ "type": "color",
1790
+ "mode": "light",
1791
+ "value": "hsl(46, 100%, 27%)",
1792
+ "originalValue": "{color.yellow.light.textSecondary}"
1793
+ },
1794
+ "component.alert.brandBodyDark": {
1795
+ "cssName": "--alert-brand-body",
1796
+ "type": "color",
1797
+ "mode": "dark",
1798
+ "value": "hsl(45, 100%, 64%)",
1799
+ "originalValue": "{color.yellow.dark.textSecondary}"
1800
+ },
1801
+ "component.alert.brandIcon": {
1802
+ "cssName": "--alert-brand-icon",
1803
+ "type": "color",
1804
+ "mode": "light",
1805
+ "value": "hsl(46, 100%, 27%)",
1806
+ "originalValue": "{color.yellow.light.textSecondary}"
1807
+ },
1808
+ "component.alert.brandIconDark": {
1809
+ "cssName": "--alert-brand-icon",
1810
+ "type": "color",
1811
+ "mode": "dark",
1812
+ "value": "hsl(45, 100%, 64%)",
1813
+ "originalValue": "{color.yellow.dark.textSecondary}"
1814
+ },
1815
+ "component.alert.successBackground": {
1816
+ "cssName": "--alert-success-bg",
1817
+ "type": "color",
1818
+ "mode": "light",
1819
+ "value": "hsl(135, 53%, 93%)",
1820
+ "originalValue": "{color.green.light.componentBg}"
1821
+ },
1822
+ "component.alert.successBackgroundDark": {
1823
+ "cssName": "--alert-success-bg",
1824
+ "type": "color",
1825
+ "mode": "dark",
1826
+ "value": "hsl(151, 35%, 13%)",
1827
+ "originalValue": "{color.green.dark.componentBg}"
1828
+ },
1829
+ "component.alert.successBorder": {
1830
+ "cssName": "--alert-success-border",
1831
+ "type": "color",
1832
+ "mode": "light",
1833
+ "value": "hsl(140, 39%, 68%)",
1834
+ "originalValue": "{color.green.light.border}"
1835
+ },
1836
+ "component.alert.successBorderDark": {
1837
+ "cssName": "--alert-success-border",
1838
+ "type": "color",
1839
+ "mode": "dark",
1840
+ "value": "hsl(146, 41%, 29%)",
1841
+ "originalValue": "{color.green.dark.border}"
1842
+ },
1843
+ "component.alert.successText": {
1844
+ "cssName": "--alert-success-text",
1845
+ "type": "color",
1846
+ "mode": "light",
1847
+ "value": "hsl(146, 35%, 17%)",
1848
+ "originalValue": "{color.green.light.text}"
1849
+ },
1850
+ "component.alert.successTextDark": {
1851
+ "cssName": "--alert-success-text",
1852
+ "type": "color",
1853
+ "mode": "dark",
1854
+ "value": "hsl(142, 71%, 82%)",
1855
+ "originalValue": "{color.green.dark.text}"
1856
+ },
1857
+ "component.alert.successBody": {
1858
+ "cssName": "--alert-success-body",
1859
+ "type": "color",
1860
+ "mode": "light",
1861
+ "value": "hsl(155, 100%, 25%)",
1862
+ "originalValue": "{color.green.light.textSecondary}"
1863
+ },
1864
+ "component.alert.successBodyDark": {
1865
+ "cssName": "--alert-success-body",
1866
+ "type": "color",
1867
+ "mode": "dark",
1868
+ "value": "hsl(146, 56%, 60%)",
1869
+ "originalValue": "{color.green.dark.textSecondary}"
1870
+ },
1871
+ "component.alert.successIcon": {
1872
+ "cssName": "--alert-success-icon",
1873
+ "type": "color",
1874
+ "mode": "light",
1875
+ "value": "hsl(155, 100%, 25%)",
1876
+ "originalValue": "{color.green.light.textSecondary}"
1877
+ },
1878
+ "component.alert.successIconDark": {
1879
+ "cssName": "--alert-success-icon",
1880
+ "type": "color",
1881
+ "mode": "dark",
1882
+ "value": "hsl(146, 56%, 60%)",
1883
+ "originalValue": "{color.green.dark.textSecondary}"
1884
+ },
1885
+ "component.alert.dangerBackground": {
1886
+ "cssName": "--alert-danger-bg",
1887
+ "type": "color",
1888
+ "mode": "light",
1889
+ "value": "hsl(2, 100%, 96%)",
1890
+ "originalValue": "{color.red.light.componentBg}"
1891
+ },
1892
+ "component.alert.dangerBackgroundDark": {
1893
+ "cssName": "--alert-danger-bg",
1894
+ "type": "color",
1895
+ "mode": "dark",
1896
+ "value": "hsl(0, 55%, 15%)",
1897
+ "originalValue": "{color.red.dark.componentBg}"
1898
+ },
1899
+ "component.alert.dangerBorder": {
1900
+ "cssName": "--alert-danger-border",
1901
+ "type": "color",
1902
+ "mode": "light",
1903
+ "value": "hsl(2, 81%, 80%)",
1904
+ "originalValue": "{color.red.light.border}"
1905
+ },
1906
+ "component.alert.dangerBorderDark": {
1907
+ "cssName": "--alert-danger-border",
1908
+ "type": "color",
1909
+ "mode": "dark",
1910
+ "value": "hsl(0, 46%, 38%)",
1911
+ "originalValue": "{color.red.dark.border}"
1912
+ },
1913
+ "component.alert.dangerText": {
1914
+ "cssName": "--alert-danger-text",
1915
+ "type": "color",
1916
+ "mode": "light",
1917
+ "value": "hsl(358, 62%, 24%)",
1918
+ "originalValue": "{color.red.light.text}"
1919
+ },
1920
+ "component.alert.dangerTextDark": {
1921
+ "cssName": "--alert-danger-text",
1922
+ "type": "color",
1923
+ "mode": "dark",
1924
+ "value": "hsl(5, 100%, 91%)",
1925
+ "originalValue": "{color.red.dark.text}"
1926
+ },
1927
+ "component.alert.dangerBody": {
1928
+ "cssName": "--alert-danger-body",
1929
+ "type": "color",
1930
+ "mode": "light",
1931
+ "value": "hsl(355, 64%, 49%)",
1932
+ "originalValue": "{color.red.light.textSecondary}"
1933
+ },
1934
+ "component.alert.dangerBodyDark": {
1935
+ "cssName": "--alert-danger-body",
1936
+ "type": "color",
1937
+ "mode": "dark",
1938
+ "value": "hsl(2, 100%, 77%)",
1939
+ "originalValue": "{color.red.dark.textSecondary}"
1940
+ },
1941
+ "component.alert.dangerIcon": {
1942
+ "cssName": "--alert-danger-icon",
1943
+ "type": "color",
1944
+ "mode": "light",
1945
+ "value": "hsl(355, 64%, 49%)",
1946
+ "originalValue": "{color.red.light.textSecondary}"
1947
+ },
1948
+ "component.alert.dangerIconDark": {
1949
+ "cssName": "--alert-danger-icon",
1950
+ "type": "color",
1951
+ "mode": "dark",
1952
+ "value": "hsl(2, 100%, 77%)",
1953
+ "originalValue": "{color.red.dark.textSecondary}"
1954
+ },
1955
+ "component.slider.track": {
1956
+ "cssName": "--slider-track",
1957
+ "type": "color",
1958
+ "mode": "light",
1959
+ "value": "hsl(0, 0%, 90.9%)",
1960
+ "originalValue": "{color.neutral.light.componentBgActive}",
1961
+ "description": "Seek, volume, stepped numeric. The buffered band is what makes it a scrubber."
1962
+ },
1963
+ "component.slider.trackDark": {
1964
+ "cssName": "--slider-track",
1965
+ "type": "color",
1966
+ "mode": "dark",
1967
+ "value": "hsl(0, 0%, 17.9%)",
1968
+ "originalValue": "{color.neutral.dark.componentBgActive}"
1969
+ },
1970
+ "component.slider.buffer": {
1971
+ "cssName": "--slider-buffer",
1972
+ "type": "color",
1973
+ "mode": "light",
1974
+ "value": "hsl(0, 0%, 85.8%)",
1975
+ "originalValue": "{color.neutral.light.border}"
1976
+ },
1977
+ "component.slider.bufferDark": {
1978
+ "cssName": "--slider-buffer",
1979
+ "type": "color",
1980
+ "mode": "dark",
1981
+ "value": "hsl(0, 0%, 24.3%)",
1982
+ "originalValue": "{color.neutral.dark.border}"
1983
+ },
1984
+ "component.slider.fill": {
1985
+ "cssName": "--slider-fill",
1986
+ "type": "color",
1987
+ "mode": "global",
1988
+ "value": "hsl(44.7, 97.9%, 63.1%)",
1989
+ "originalValue": "{color.brand.yellow}"
1990
+ },
1991
+ "component.slider.knob": {
1992
+ "cssName": "--slider-knob",
1993
+ "type": "color",
1994
+ "mode": "global",
1995
+ "value": "hsl(44.7, 97.9%, 63.1%)",
1996
+ "originalValue": "{color.brand.yellow}"
1997
+ },
1998
+ "component.slider.fillDisabled": {
1999
+ "cssName": "--slider-fill-disabled",
2000
+ "type": "color",
2001
+ "mode": "light",
2002
+ "value": "hsl(0, 0%, 43.5%)",
2003
+ "originalValue": "{color.neutral.light.textSecondary}"
2004
+ },
2005
+ "component.slider.fillDisabledDark": {
2006
+ "cssName": "--slider-fill-disabled",
2007
+ "type": "color",
2008
+ "mode": "dark",
2009
+ "value": "hsl(0, 0%, 62.8%)",
2010
+ "originalValue": "{color.neutral.dark.textSecondary}"
2011
+ },
2012
+ "component.slider.trackHeight": {
2013
+ "cssName": "--slider-track-height",
2014
+ "type": "dimension",
2015
+ "mode": "global",
2016
+ "value": "4px",
2017
+ "originalValue": "4px"
2018
+ },
2019
+ "component.slider.knobSize": {
2020
+ "cssName": "--slider-knob-size",
2021
+ "type": "dimension",
2022
+ "mode": "global",
2023
+ "value": "14px",
2024
+ "originalValue": "14px"
2025
+ },
2026
+ "component.slider.hitHeight": {
2027
+ "cssName": "--slider-hit-height",
2028
+ "type": "dimension",
2029
+ "mode": "global",
2030
+ "value": "20px",
2031
+ "originalValue": "20px",
2032
+ "description": "44px on touch — the knob grows, the track does not."
2033
+ },
2034
+ "component.pagination.itemSize": {
2035
+ "cssName": "--pagination-item-size",
2036
+ "type": "dimension",
2037
+ "mode": "global",
2038
+ "value": "30px",
2039
+ "originalValue": "30px",
2040
+ "description": "Numbered paging. Load-more and infinite scroll carry no chrome of their own."
2041
+ },
2042
+ "component.pagination.itemText": {
2043
+ "cssName": "--pagination-item-text",
2044
+ "type": "color",
2045
+ "mode": "light",
2046
+ "value": "hsl(0, 0%, 43.5%)",
2047
+ "originalValue": "{color.neutral.light.textSecondary}"
2048
+ },
2049
+ "component.pagination.itemTextDark": {
2050
+ "cssName": "--pagination-item-text",
2051
+ "type": "color",
2052
+ "mode": "dark",
2053
+ "value": "hsl(0, 0%, 62.8%)",
2054
+ "originalValue": "{color.neutral.dark.textSecondary}"
2055
+ },
2056
+ "component.pagination.itemTextActive": {
2057
+ "cssName": "--pagination-item-text-active",
2058
+ "type": "color",
2059
+ "mode": "light",
2060
+ "value": "hsl(0, 0%, 9.0%)",
2061
+ "originalValue": "{color.neutral.light.text}"
2062
+ },
2063
+ "component.pagination.itemTextActiveDark": {
2064
+ "cssName": "--pagination-item-text-active",
2065
+ "type": "color",
2066
+ "mode": "dark",
2067
+ "value": "hsl(0, 0%, 93.0%)",
2068
+ "originalValue": "{color.neutral.dark.text}"
2069
+ },
2070
+ "component.pagination.itemBackgroundHover": {
2071
+ "cssName": "--pagination-item-bg-hover",
2072
+ "type": "color",
2073
+ "mode": "light",
2074
+ "value": "hsl(0, 0%, 93.0%)",
2075
+ "originalValue": "{color.neutral.light.componentBgHover}"
2076
+ },
2077
+ "component.pagination.itemBackgroundHoverDark": {
2078
+ "cssName": "--pagination-item-bg-hover",
2079
+ "type": "color",
2080
+ "mode": "dark",
2081
+ "value": "hsl(0, 0%, 15.8%)",
2082
+ "originalValue": "{color.neutral.dark.componentBgHover}"
2083
+ },
2084
+ "component.pagination.itemBackgroundActive": {
2085
+ "cssName": "--pagination-item-bg-active",
2086
+ "type": "color",
2087
+ "mode": "light",
2088
+ "value": "hsl(0, 0%, 90.9%)",
2089
+ "originalValue": "{color.neutral.light.componentBgActive}"
2090
+ },
2091
+ "component.pagination.itemBackgroundActiveDark": {
2092
+ "cssName": "--pagination-item-bg-active",
2093
+ "type": "color",
2094
+ "mode": "dark",
2095
+ "value": "hsl(0, 0%, 17.9%)",
2096
+ "originalValue": "{color.neutral.dark.componentBgActive}"
2097
+ },
2098
+ "component.pagination.itemBorderActive": {
2099
+ "cssName": "--pagination-item-border-active",
2100
+ "type": "color",
2101
+ "mode": "light",
2102
+ "value": "hsl(0, 0%, 85.8%)",
2103
+ "originalValue": "{color.neutral.light.border}"
2104
+ },
2105
+ "component.pagination.itemBorderActiveDark": {
2106
+ "cssName": "--pagination-item-border-active",
2107
+ "type": "color",
2108
+ "mode": "dark",
2109
+ "value": "hsl(0, 0%, 24.3%)",
2110
+ "originalValue": "{color.neutral.dark.border}"
2111
+ },
1586
2112
  "context.tv.text.primary": {
1587
2113
  "cssName": "--text-1",
1588
2114
  "type": "color",
@@ -1643,6 +2169,46 @@
1643
2169
  "value": "hsla(0, 0%, 100%, 0.18)",
1644
2170
  "originalValue": "hsla(0, 0%, 100%, 0.18)"
1645
2171
  },
2172
+ "context.tv.channelArt.nightly.background": {
2173
+ "cssName": "--tv-channel-art-nightly-bg",
2174
+ "type": "color",
2175
+ "mode": "tv",
2176
+ "value": "hsl(0, 0%, 2%)",
2177
+ "originalValue": "hsl(0, 0%, 2%)",
2178
+ "description": "True black, one step past production charcoal; carries the star field so a staging build is unmistakable next to the shipping app."
2179
+ },
2180
+ "context.tv.channelArt.nightly.accent": {
2181
+ "cssName": "--tv-channel-art-nightly-accent",
2182
+ "type": "color",
2183
+ "mode": "tv",
2184
+ "value": "hsl(44.7, 97.9%, 63.1%)",
2185
+ "originalValue": "{color.brand.yellow}",
2186
+ "description": "Unlike dev, nightly does not recolor the mark: the accent is the brand yellow and the retro wordmark keeps its yellow drop-shadow. Present so emitters can express the flavor as a complete set rather than a special case."
2187
+ },
2188
+ "context.tv.channelArt.nightly.star": {
2189
+ "cssName": "--tv-channel-art-nightly-star",
2190
+ "type": "color",
2191
+ "mode": "tv",
2192
+ "value": "hsl(0, 0%, 100%)",
2193
+ "originalValue": "hsl(0, 0%, 100%)",
2194
+ "description": "Star colour. Stars are scattered, never gridded: three sizes at roughly 36%, 62%, and 95% opacity with the faint ones dominating. Static — never animated, blurred, or glowing."
2195
+ },
2196
+ "context.tv.channelArt.nightly.moon": {
2197
+ "cssName": "--tv-channel-art-nightly-moon",
2198
+ "type": "color",
2199
+ "mode": "tv",
2200
+ "value": "hsl(44.7, 97.9%, 63.1%)",
2201
+ "originalValue": "{color.brand.yellow}",
2202
+ "description": "Full moon disc in the brand yellow, placed top-left. Its own token so a platform can place the moon without hard-coding the brand value."
2203
+ },
2204
+ "context.tv.channelArt.nightly.moonCrater": {
2205
+ "cssName": "--tv-channel-art-nightly-moon-crater",
2206
+ "type": "color",
2207
+ "mode": "tv",
2208
+ "value": "hsl(45, 82%, 56%)",
2209
+ "originalValue": "hsl(45, 82%, 56%)",
2210
+ "description": "Craters one step darker than the moon disc. Low contrast on purpose: texture at icon size, not holes."
2211
+ },
1646
2212
  "context.tv.channelArt.lab.background": {
1647
2213
  "cssName": "--tv-channel-art-lab-bg",
1648
2214
  "type": "color",
@@ -1664,6 +2230,38 @@
1664
2230
  "value": "hsl(110.6, 100%, 53.9%)",
1665
2231
  "originalValue": "hsl(110.6, 100%, 53.9%)"
1666
2232
  },
2233
+ "tv.video.background": {
2234
+ "cssName": "--tv-video-bg",
2235
+ "type": "color",
2236
+ "mode": "tv",
2237
+ "value": "hsl(0, 0%, 0%)",
2238
+ "originalValue": "hsl(0, 0%, 0%)",
2239
+ "description": "Letterbox / video plate. True black, not the app background."
2240
+ },
2241
+ "tv.video.heroScrimTop": {
2242
+ "cssName": "--tv-hero-scrim-top",
2243
+ "type": "color",
2244
+ "mode": "tv",
2245
+ "value": "hsl(30, 18.2%, 8.6%)",
2246
+ "originalValue": "hsl(30, 18.2%, 8.6%)",
2247
+ "description": "Top stop of the warm-black wash behind hero/poster art."
2248
+ },
2249
+ "tv.video.heroScrimBottom": {
2250
+ "cssName": "--tv-hero-scrim-bottom",
2251
+ "type": "color",
2252
+ "mode": "tv",
2253
+ "value": "hsl(30, 25%, 1.6%)",
2254
+ "originalValue": "hsl(30, 25%, 1.6%)",
2255
+ "description": "Bottom stop of the hero wash. Near-black but warm — never pure black, which reads blue next to the art."
2256
+ },
2257
+ "tv.video.textOnVideo": {
2258
+ "cssName": "--tv-text-on-video",
2259
+ "type": "color",
2260
+ "mode": "tv",
2261
+ "value": "hsl(0, 0%, 100%)",
2262
+ "originalValue": "hsl(0, 0%, 100%)",
2263
+ "description": "Player chrome over video — always white, never a theme token."
2264
+ },
1667
2265
  "tv.text.heading": {
1668
2266
  "cssName": "--tv-text-heading",
1669
2267
  "type": "dimension",