Default.css 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816
  1. /* Default user-agent stylesheet for LibWeb
  2. * Note: This stylesheet starts with a bunch of ad-hoc custom rules.
  3. * After that, rules from the HTML spec follow.
  4. */
  5. html {
  6. font-family: serif;
  7. color: CanvasText;
  8. }
  9. body {
  10. margin: 8px;
  11. }
  12. center {
  13. text-align: -libweb-center;
  14. }
  15. blink {
  16. display: inline;
  17. }
  18. /* FIXME: This doesn't seem right. */
  19. label {
  20. display: inline-block;
  21. }
  22. /* FIXME: This is a temporary hack until we can render a native-looking frame for these. */
  23. input:not([type=submit], input[type=button], input[type=reset], input[type=color], input[type=checkbox], input[type=radio]), textarea {
  24. border: 1px solid ButtonBorder;
  25. min-height: 16px;
  26. width: attr(size ch, 20ch);
  27. cursor: text;
  28. overflow: hidden;
  29. }
  30. textarea {
  31. padding: 2px;
  32. display: inline-block;
  33. overflow: auto;
  34. font-family: monospace;
  35. width: attr(cols ch, 20ch);
  36. height: attr(rows lh, 2lh);
  37. }
  38. input::placeholder {
  39. color: GrayText;
  40. }
  41. button, input[type=submit], input[type=button], input[type=reset] {
  42. padding: 1px 4px;
  43. background-color: ButtonFace;
  44. border: 1px solid ButtonBorder;
  45. color: ButtonText;
  46. }
  47. button:hover, input[type=submit]:hover, input[type=button]:hover, input[type=reset]:hover {
  48. /* FIXME: There isn't a <system-color> keyword for this, so this is a slightly lightened
  49. * version of our light ButtonFace color. Once we support `color-scheme: dark`
  50. * we'll need to use a different color for that.
  51. */
  52. background-color: #e5e0d7;
  53. }
  54. option {
  55. display: none;
  56. }
  57. /* Custom <meter> styles */
  58. meter {
  59. display: inline-block;
  60. width: 300px;
  61. height: 12px;
  62. }
  63. meter::-webkit-meter-bar, meter::-webkit-meter-optimum-value, meter::-webkit-meter-suboptimum-value, meter::-webkit-meter-even-less-good-value {
  64. display: block;
  65. height: 100%;
  66. }
  67. meter::-webkit-meter-bar {
  68. background-color: hsl(0, 0%, 96%);
  69. border: 1px solid rgba(0, 0, 0, 0.5);
  70. }
  71. meter::-webkit-meter-optimum-value {
  72. background-color: hsl(141, 53%, 53%);
  73. }
  74. meter::-webkit-meter-suboptimum-value {
  75. background-color: hsl(48, 100%, 67%);
  76. }
  77. meter::-webkit-meter-even-less-good-value {
  78. background-color: hsl(348, 100%, 61%);
  79. }
  80. /* Custom <progress> styles */
  81. progress {
  82. display: inline-block;
  83. width: 300px;
  84. height: 12px;
  85. }
  86. progress::-webkit-progress-bar, progress::-webkit-progress-value {
  87. display: block;
  88. height: 100%;
  89. }
  90. progress::-webkit-progress-bar {
  91. background-color: hsl(0, 0%, 96%);
  92. border: 1px solid rgba(0, 0, 0, 0.5);
  93. }
  94. progress::-webkit-progress-value {
  95. background-color: hsl(204, 86%, 53%);
  96. }
  97. /* 15.3.1 Hidden elements
  98. * https://html.spec.whatwg.org/multipage/rendering.html#hidden-elements
  99. */
  100. area, base, basefont, datalist, head, link, meta, noembed,
  101. noframes, param, rp, script, style, template, title {
  102. display: none;
  103. }
  104. [hidden]:not([hidden=until-found i]) {
  105. display: none;
  106. }
  107. [hidden=until-found i]:not(embed) {
  108. content-visibility: hidden;
  109. }
  110. embed[hidden] {
  111. display: inline;
  112. height: 0;
  113. width: 0;
  114. }
  115. input[type=hidden i] {
  116. display: none !important;
  117. }
  118. @media (scripting) {
  119. noscript {
  120. display: none !important;
  121. }
  122. }
  123. /* 15.3.2 The page
  124. * https://html.spec.whatwg.org/multipage/rendering.html#the-page
  125. */
  126. html, body {
  127. display: block;
  128. }
  129. /* 15.3.3 Flow content
  130. * https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3
  131. */
  132. address, blockquote, center, dialog, div, figure, figcaption, footer, form,
  133. header, hr, legend, listing, main, p, plaintext, pre, search, xmp {
  134. display: block;
  135. }
  136. blockquote, figure, listing, p, plaintext, pre, xmp {
  137. margin-top: 1em;
  138. margin-bottom: 1em;
  139. }
  140. blockquote, figure {
  141. margin-left: 40px;
  142. margin-right: 40px;
  143. }
  144. address {
  145. font-style: italic;
  146. }
  147. listing, plaintext, pre, xmp {
  148. font-family: monospace;
  149. white-space: pre;
  150. }
  151. dialog:not([open]) {
  152. display: none;
  153. }
  154. dialog {
  155. position: absolute;
  156. inset-inline-start: 0;
  157. inset-inline-end: 0;
  158. width: fit-content;
  159. height: fit-content;
  160. margin: auto;
  161. border: solid;
  162. padding: 1em;
  163. background-color: Canvas;
  164. color: CanvasText;
  165. }
  166. dialog:modal {
  167. position: fixed;
  168. overflow: auto;
  169. inset-block: 0;
  170. max-width: calc(100% - 6px - 2em);
  171. max-height: calc(100% - 6px - 2em);
  172. }
  173. dialog::backdrop {
  174. background: rgba(0, 0, 0, 0.1);
  175. }
  176. [popover]:not(:popover-open):not(dialog[open]) {
  177. display:none;
  178. }
  179. dialog:popover-open {
  180. display:block;
  181. }
  182. [popover] {
  183. position: fixed;
  184. inset: 0;
  185. width: fit-content;
  186. height: fit-content;
  187. margin: auto;
  188. border: solid;
  189. padding: 0.25em;
  190. overflow: auto;
  191. color: CanvasText;
  192. background-color: Canvas;
  193. }
  194. :popover-open::backdrop {
  195. position: fixed;
  196. inset: 0;
  197. pointer-events: none !important;
  198. background-color: transparent;
  199. }
  200. slot {
  201. display: contents;
  202. }
  203. /* 15.3.4 Phrasing content
  204. * https://html.spec.whatwg.org/multipage/rendering.html#phrasing-content-3
  205. */
  206. cite, dfn, em, i, var {
  207. font-style: italic;
  208. }
  209. b, strong {
  210. font-weight: bolder;
  211. }
  212. code, kbd, samp, tt {
  213. font-family: monospace;
  214. }
  215. big {
  216. font-size: larger;
  217. }
  218. small {
  219. font-size: smaller;
  220. }
  221. sub {
  222. vertical-align: sub;
  223. }
  224. sup {
  225. vertical-align: super;
  226. }
  227. sub, sup {
  228. line-height: normal;
  229. font-size: smaller;
  230. }
  231. ruby {
  232. display: ruby;
  233. }
  234. rt {
  235. display: ruby-text;
  236. }
  237. :link {
  238. color: LinkText;
  239. }
  240. :visited {
  241. color: VisitedText;
  242. }
  243. :link:active, :visited:active {
  244. color: ActiveText;
  245. }
  246. :link, :visited {
  247. text-decoration: underline;
  248. cursor: pointer;
  249. }
  250. :focus-visible {
  251. outline: auto;
  252. }
  253. mark {
  254. background: Mark;
  255. color: MarkText;
  256. }
  257. abbr[title], acronym[title] {
  258. text-decoration: dotted underline;
  259. }
  260. ins, u {
  261. text-decoration: underline;
  262. }
  263. del, s, strike {
  264. text-decoration: line-through;
  265. }
  266. q::before {
  267. content: open-quote;
  268. }
  269. q::after {
  270. content: close-quote;
  271. }
  272. /*
  273. NOTE: This isn't a real property and value. See https://github.com/whatwg/html/issues/2291
  274. br {
  275. display-outside: newline;
  276. }
  277. */
  278. /* this also has bidi implications */
  279. nobr {
  280. white-space: nowrap;
  281. }
  282. /*
  283. NOTE: This isn't a real property and value. See https://github.com/whatwg/html/issues/2291
  284. wbr {
  285. display-outside: break-opportunity;
  286. }
  287. */
  288. /* this also has bidi implications */
  289. nobr wbr {
  290. white-space: normal;
  291. }
  292. /* 15.3.5 Bidirectional text
  293. * https://html.spec.whatwg.org/multipage/rendering.html#bidi-rendering
  294. */
  295. [dir]:dir(ltr), bdi:dir(ltr), input[type=tel i]:dir(ltr) {
  296. direction: ltr;
  297. }
  298. [dir]:dir(rtl), bdi:dir(rtl) {
  299. direction: rtl;
  300. }
  301. address, blockquote, center, div, figure, figcaption, footer, form, header, hr,
  302. legend, listing, main, p, plaintext, pre, summary, xmp, article, aside, h1, h2,
  303. h3, h4, h5, h6, hgroup, nav, section, table, caption, colgroup, col, thead,
  304. tbody, tfoot, tr, td, th, dir, dd, dl, dt, menu, ol, ul, li, bdi, output,
  305. [dir=ltr i], [dir=rtl i], [dir=auto i] {
  306. unicode-bidi: isolate;
  307. }
  308. bdo, bdo[dir] {
  309. unicode-bidi: isolate-override;
  310. }
  311. input[dir=auto i]:is([type=search i], [type=tel i], [type=url i],
  312. [type=email i]), textarea[dir=auto i], pre[dir=auto i] {
  313. unicode-bidi: plaintext;
  314. }
  315. /* 15.3.6 Sections and headings
  316. * https://html.spec.whatwg.org/multipage/rendering.html#sections-and-headings
  317. */
  318. article, aside, h1, h2, h3, h4, h5, h6, hgroup, nav, section {
  319. display: block;
  320. }
  321. h1 {
  322. margin-top: 0.67em;
  323. margin-bottom: 0.67em;
  324. font-size: 2.00em;
  325. font-weight: bold;
  326. }
  327. h2 {
  328. margin-top: 0.83em;
  329. margin-bottom: 0.83em;
  330. font-size: 1.50em;
  331. font-weight: bold;
  332. }
  333. h3 {
  334. margin-top: 1.00em;
  335. margin-bottom: 1.00em;
  336. font-size: 1.17em;
  337. font-weight: bold;
  338. }
  339. h4 {
  340. margin-top: 1.33em;
  341. margin-bottom: 1.33em;
  342. font-size: 1.00em;
  343. font-weight: bold;
  344. }
  345. h5 {
  346. margin-top: 1.67em;
  347. margin-bottom: 1.67em;
  348. font-size: 0.83em;
  349. font-weight: bold;
  350. }
  351. h6 {
  352. margin-top: 2.33em;
  353. margin-bottom: 2.33em;
  354. font-size: 0.67em;
  355. font-weight: bold;
  356. }
  357. :is(article, aside, nav, section) h1 {
  358. margin-top: 0.83em;
  359. margin-bottom: 0.83em;
  360. font-size: 1.50em;
  361. }
  362. :is(article, aside, nav, section) :is(article, aside, nav, section) h1 {
  363. margin-top: 1.00em;
  364. margin-bottom: 1.00em;
  365. font-size: 1.17em;
  366. }
  367. :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) h1 {
  368. margin-top: 1.33em;
  369. margin-bottom: 1.33em;
  370. font-size: 1.00em;
  371. }
  372. :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) h1 {
  373. margin-top: 1.67em;
  374. margin-bottom: 1.67em;
  375. font-size: 0.83em;
  376. }
  377. :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) :is(article, aside, nav, section) h1 {
  378. margin-top: 2.33em;
  379. margin-bottom: 2.33em;
  380. font-size: 0.67em;
  381. }
  382. /* 15.3.7 Lists
  383. * https://html.spec.whatwg.org/multipage/rendering.html#lists
  384. */
  385. dir, dd, dl, dt, menu, ol, ul {
  386. display: block;
  387. }
  388. li {
  389. display: list-item;
  390. text-align: match-parent;
  391. }
  392. dir, dl, menu, ol, ul {
  393. margin-block-start: 1em;
  394. margin-block-end: 1em;
  395. }
  396. :is(dir, dl, menu, ol, ul) :is(dir, dl, menu, ol, ul) {
  397. margin-block-start: 0;
  398. margin-block-end: 0;
  399. }
  400. dd {
  401. margin-inline-start: 40px;
  402. }
  403. dir, menu, ol, ul {
  404. padding-inline-start: 40px;
  405. }
  406. ol, ul, menu {
  407. counter-reset: list-item;
  408. }
  409. ol {
  410. list-style-type: decimal;
  411. }
  412. dir, menu, ul {
  413. list-style-type: disc;
  414. }
  415. :is(dir, menu, ol, ul) :is(dir, menu, ul) {
  416. list-style-type: circle;
  417. }
  418. :is(dir, menu, ol, ul) :is(dir, menu, ol, ul) :is(dir, menu, ul) {
  419. list-style-type: square;
  420. }
  421. /* 15.3.8 Tables
  422. * https://html.spec.whatwg.org/multipage/rendering.html#tables-2
  423. */
  424. table {
  425. display: table;
  426. }
  427. caption {
  428. display: table-caption;
  429. }
  430. colgroup, colgroup[hidden] {
  431. display: table-column-group;
  432. }
  433. col, col[hidden] {
  434. display: table-column;
  435. }
  436. thead, thead[hidden] {
  437. display: table-header-group;
  438. }
  439. tbody, tbody[hidden] {
  440. display: table-row-group;
  441. }
  442. tfoot, tfoot[hidden] {
  443. display: table-footer-group;
  444. }
  445. tr, tr[hidden] {
  446. display: table-row;
  447. }
  448. td, th {
  449. display: table-cell;
  450. }
  451. colgroup[hidden], col[hidden], thead[hidden], tbody[hidden],
  452. tfoot[hidden], tr[hidden] {
  453. visibility: collapse;
  454. }
  455. table {
  456. box-sizing: border-box;
  457. border-spacing: 2px;
  458. border-collapse: separate;
  459. text-indent: initial;
  460. }
  461. td, th {
  462. padding: 1px;
  463. }
  464. th {
  465. font-weight: bold;
  466. /*
  467. The text-align property for table headings is non-standard, but all
  468. existing user-agents seem to render them centered by default.
  469. See:
  470. - https://trac.webkit.org/browser/trunk/Source/WebCore/css/html.css?rev=295625#L272
  471. - https://searchfox.org/mozilla-central/rev/0b55b868c17835942d40ca3fedfca8057481207b/layout/style/res/html.css#473
  472. */
  473. text-align: center;
  474. }
  475. caption {
  476. text-align: center;
  477. }
  478. thead, tbody, tfoot, table > tr {
  479. vertical-align: middle;
  480. }
  481. tr, td, th {
  482. vertical-align: inherit;
  483. }
  484. thead, tbody, tfoot, tr {
  485. border-color: inherit;
  486. }
  487. table[rules=none i], table[rules=groups i], table[rules=rows i],
  488. table[rules=cols i], table[rules=all i], table[frame=void i],
  489. table[frame=above i], table[frame=below i], table[frame=hsides i],
  490. table[frame=lhs i], table[frame=rhs i], table[frame=vsides i],
  491. table[frame=box i], table[frame=border i],
  492. table[rules=none i] > tr > td, table[rules=none i] > tr > th,
  493. table[rules=groups i] > tr > td, table[rules=groups i] > tr > th,
  494. table[rules=rows i] > tr > td, table[rules=rows i] > tr > th,
  495. table[rules=cols i] > tr > td, table[rules=cols i] > tr > th,
  496. table[rules=all i] > tr > td, table[rules=all i] > tr > th,
  497. table[rules=none i] > thead > tr > td, table[rules=none i] > thead > tr > th,
  498. table[rules=groups i] > thead > tr > td, table[rules=groups i] > thead > tr > th,
  499. table[rules=rows i] > thead > tr > td, table[rules=rows i] > thead > tr > th,
  500. table[rules=cols i] > thead > tr > td, table[rules=cols i] > thead > tr > th,
  501. table[rules=all i] > thead > tr > td, table[rules=all i] > thead > tr > th,
  502. table[rules=none i] > tbody > tr > td, table[rules=none i] > tbody > tr > th,
  503. table[rules=groups i] > tbody > tr > td, table[rules=groups i] > tbody > tr > th,
  504. table[rules=rows i] > tbody > tr > td, table[rules=rows i] > tbody > tr > th,
  505. table[rules=cols i] > tbody > tr > td, table[rules=cols i] > tbody > tr > th,
  506. table[rules=all i] > tbody > tr > td, table[rules=all i] > tbody > tr > th,
  507. table[rules=none i] > tfoot > tr > td, table[rules=none i] > tfoot > tr > th,
  508. table[rules=groups i] > tfoot > tr > td, table[rules=groups i] > tfoot > tr > th,
  509. table[rules=rows i] > tfoot > tr > td, table[rules=rows i] > tfoot > tr > th,
  510. table[rules=cols i] > tfoot > tr > td, table[rules=cols i] > tfoot > tr > th,
  511. table[rules=all i] > tfoot > tr > td, table[rules=all i] > tfoot > tr > th {
  512. border-color: black;
  513. }
  514. /* 15.3.10 Form controls
  515. * https://html.spec.whatwg.org/multipage/rendering.html#form-controls
  516. */
  517. input, select, button, textarea {
  518. letter-spacing: initial;
  519. word-spacing: initial;
  520. line-height: initial;
  521. text-transform: initial;
  522. text-indent: initial;
  523. text-shadow: initial;
  524. appearance: auto;
  525. }
  526. input, select, textarea {
  527. text-align: initial;
  528. }
  529. input:is([type=reset i], [type=button i], [type=submit i]), button {
  530. text-align: center;
  531. }
  532. input, button {
  533. display: inline-block;
  534. }
  535. input[type=hidden i], input[type=file i], input[type=image i] {
  536. appearance: none;
  537. }
  538. input:is([type=radio i], [type=checkbox i], [type=reset i], [type=button i],
  539. [type=submit i], [type=color i], [type=search i]), select, button {
  540. box-sizing: border-box;
  541. }
  542. textarea {
  543. white-space: pre-wrap;
  544. }
  545. /* 15.3.11 The hr element
  546. * https://html.spec.whatwg.org/multipage/rendering.html#the-hr-element-2
  547. */
  548. hr {
  549. color: gray;
  550. border-style: inset;
  551. border-width: 1px;
  552. margin-block-start: 0.5em;
  553. margin-inline-end: auto;
  554. margin-block-end: 0.5em;
  555. margin-inline-start: auto;
  556. overflow: hidden;
  557. }
  558. /* 15.3.12 The fieldset and legend elements
  559. * https://html.spec.whatwg.org/multipage/rendering.html#the-fieldset-and-legend-elements
  560. */
  561. fieldset {
  562. display: block;
  563. margin-inline-start: 2px;
  564. margin-inline-end: 2px;
  565. border: groove 2px ThreeDFace;
  566. padding-block-start: 0.35em;
  567. padding-inline-end: 0.75em;
  568. padding-block-end: 0.625em;
  569. padding-inline-start: 0.75em;
  570. min-inline-size: min-content;
  571. }
  572. legend {
  573. padding-left: 2px;
  574. padding-right: 2px;
  575. }
  576. legend[align=left i] {
  577. justify-self: left;
  578. }
  579. legend[align=center i] {
  580. justify-self: center;
  581. }
  582. legend[align=right i] {
  583. justify-self: right;
  584. }
  585. /* 15.4.1 Embedded content
  586. * https://html.spec.whatwg.org/multipage/rendering.html#embedded-content-rendering-rules
  587. */
  588. iframe {
  589. border: 2px inset;
  590. }
  591. video {
  592. object-fit: contain;
  593. }
  594. /* 15.4.3 Attributes for embedded content and images
  595. * https://html.spec.whatwg.org/multipage/rendering.html#attributes-for-embedded-content-and-images
  596. */
  597. iframe[frameborder='0'], iframe[frameborder=no i] { border: none; }
  598. embed[align=left i], iframe[align=left i], img[align=left i],
  599. input[type=image i][align=left i], object[align=left i] {
  600. float: left;
  601. }
  602. embed[align=right i], iframe[align=right i], img[align=right i],
  603. input[type=image i][align=right i], object[align=right i] {
  604. float: right;
  605. }
  606. embed[align=top i], iframe[align=top i], img[align=top i],
  607. input[type=image i][align=top i], object[align=top i] {
  608. vertical-align: top;
  609. }
  610. embed[align=baseline i], iframe[align=baseline i], img[align=baseline i],
  611. input[type=image i][align=baseline i], object[align=baseline i] {
  612. vertical-align: baseline;
  613. }
  614. embed[align=texttop i], iframe[align=texttop i], img[align=texttop i],
  615. input[type=image i][align=texttop i], object[align=texttop i] {
  616. vertical-align: text-top;
  617. }
  618. embed[align=absmiddle i], iframe[align=absmiddle i], img[align=absmiddle i],
  619. input[type=image i][align=absmiddle i], object[align=absmiddle i],
  620. embed[align=abscenter i], iframe[align=abscenter i], img[align=abscenter i],
  621. input[type=image i][align=abscenter i], object[align=abscenter i] {
  622. vertical-align: middle;
  623. }
  624. embed[align=bottom i], iframe[align=bottom i], img[align=bottom i],
  625. input[type=image i][align=bottom i], object[align=bottom i] {
  626. vertical-align: bottom;
  627. }
  628. /* 15.5.4 The details and summary elements
  629. * https://html.spec.whatwg.org/multipage/rendering.html#the-details-and-summary-elements
  630. */
  631. details > summary:first-of-type {
  632. display: list-item;
  633. counter-increment: list-item 0;
  634. list-style: disclosure-closed inside;
  635. }
  636. details[open] > summary:first-of-type {
  637. list-style-type: disclosure-open;
  638. }
  639. /* 15.5.12 The marquee element
  640. * https://html.spec.whatwg.org/multipage/rendering.html#the-marquee-element-2
  641. */
  642. marquee {
  643. display: inline-block;
  644. text-align: initial;
  645. }
  646. /* 15.5.13 The meter element
  647. * https://html.spec.whatwg.org/multipage/rendering.html#the-meter-element-2
  648. */
  649. meter {
  650. appearance: auto;
  651. }
  652. /* 15.5.14 The progress element
  653. * https://html.spec.whatwg.org/multipage/rendering.html#the-progress-element-2
  654. */
  655. progress {
  656. appearance: auto;
  657. }
  658. /* https://www.w3.org/TR/mediaqueries-5/#descdef-media-inverted-colors
  659. */
  660. @media (inverted-colors) {
  661. img:not(picture>img),
  662. picture,
  663. video {
  664. filter: invert(100%);
  665. }
  666. }