/* shared/icons.css — the tool-icon SVG system: one canonical copy of
   each icon's base64 data URI and the .icon-X mask rules that paint them,
   linked directly by both shared/site.css (via @import, so every
   standalone tool page gets it automatically) and index.html (via its
   own <link>, since the SPA intentionally keeps the rest of its CSS
   inline and doesn't load shared/site.css itself). These used to be
   hand-duplicated in both places — identical blocks, copy-pasted — which
   is exactly what let them silently drift out of sync. Add a new
   --icon-X token and its .icon-X rule here once; both surfaces pick it
   up with no further edits. */

:root{
  --icon-context: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDY0MCA2MjQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjEuNTsiPgogICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTEyMC44NTQ3NjEsLTMwLjg1NDc2MSkiPgogICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMzQ1NzUxLDAsMCwwLjM0NTc1MSwxMDcyLjgwMjEzNCwtMjMuNzY3MTI4KSI+CiAgICAgICAgICAgIDxyZWN0IHg9IjE3NyIgeT0iMTk2IiB3aWR0aD0iNDg3IiBoZWlnaHQ9IjQ4NyIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6d2hpdGU7c3Ryb2tlLXdpZHRoOjQyLjE4cHg7Ii8+CiAgICAgICAgPC9nPgogICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMTU5ODgsMCwwLDAuMTU5ODgsMTM1OC42ODExNjcsMjU3LjU4MjYyOCkiPgogICAgICAgICAgICA8cmVjdCB4PSIxNzciIHk9IjE5NiIgd2lkdGg9IjQ4NyIgaGVpZ2h0PSI0ODciIHN0eWxlPSJmaWxsOnJnYigyNTAsMjUwLDI1MCk7Ii8+CiAgICAgICAgPC9nPgogICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMjY3Mzg2LDAsMCwwLjI3MDQ2MSwxNTM2LjAyNzQxMyw0MjQuMzE0MTM4KSI+CiAgICAgICAgICAgIDxyZWN0IHg9IjE3NyIgeT0iMTk2IiB3aWR0aD0iNDg3IiBoZWlnaHQ9IjQ4NyIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgPC9nPgogICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMzQ1NzUxLDAsMCwwLjM0NTc1MSwxMjgwLjUyMjQxOSwxNzUuODkyMzMyKSI+CiAgICAgICAgICAgIDxyZWN0IHg9IjE3NyIgeT0iMTk2IiB3aWR0aD0iNDg3IiBoZWlnaHQ9IjQ4NyIgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6d2hpdGU7c3Ryb2tlLXdpZHRoOjQyLjE4cHg7Ii8+CiAgICAgICAgPC9nPgogICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMzQ1NzUxLDAsMCwwLjM0NTc1MSwxNTAzLjA3NTEwOSwzOTEuMjI0Mzk3KSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik03MDYuMTc5LDcyNS4xNzlMMTM0LjgyMSw3MjUuMTc5TDEzNC44MjEsMTUzLjgyMUw3MDYuMTc5LDE1My44MjFMNzA2LjE3OSw3MjUuMTc5Wk02NjQsMTk2TDE3NywxOTZMMTc3LDY4M0w2NjQsNjgzTDY2NCwxOTZaIiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo=");
  --icon-gif: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEwMCAxMDEiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+CiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjE3OTIxMSwwLDAsMC4xODAwMzYsLTcuNzE2OTQ5LC0yMTIuMjk1MDg2KSI+CiAgICAgICAgPGcgaWQ9IkNvbmdpZnkiIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTEwOTAuOTM5NDI1LDExMzUuMTgzNTk5KSI+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMTcyODc1LDAsMCwwLjE3Mjg3NSwxMzczLjY5MTMyLDI4My4wNTI2NTMpIj4KICAgICAgICAgICAgICAgIDxyZWN0IHg9IjE3NyIgeT0iMTk2IiB3aWR0aD0iNDg3IiBoZWlnaHQ9IjQ4NyIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC4xNzI4NzUsMCwwLDAuMTcyODc1LDEyODkuNTAxMDM2LDE5OC44NjIzNjkpIj4KICAgICAgICAgICAgICAgIDxyZWN0IHg9IjE3NyIgeT0iMTk2IiB3aWR0aD0iNDg3IiBoZWlnaHQ9IjQ4NyIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC42OTU0NDQsMCwwLDAuNjk1NDQ0LDEwMjcuNjY1NDgzLC03My4zODE5MjgpIj4KICAgICAgICAgICAgICAgIDxyZWN0IHg9IjQyMC41IiB5PSI0MzkuNSIgd2lkdGg9IjI0My41IiBoZWlnaHQ9IjI0My41IiBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTp3aGl0ZTtzdHJva2Utd2lkdGg6MTYuMDFweDsiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjY5NTQ0NCwwLDAsMC42OTU0NDQsMTIxMS45MDg2NTcsMTE1LjI4NTAyMSkiPgogICAgICAgICAgICAgICAgPHJlY3QgeD0iNDIwLjUiIHk9IjQzOS41IiB3aWR0aD0iMjQzLjUiIGhlaWdodD0iMjQzLjUiIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOndoaXRlO3N0cm9rZS13aWR0aDoxNi4wMXB4OyIvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDUuNTgwMDE1LDAsMCw1LjU1NDQ0NSwxMTM3LjAzMTk4Miw2MC42NjEwNDMpIj4KICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDE0LDAsMCwxNCw5MC4xMTYwOTgsODQuMjMwMjQ0KSI+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8dGV4dCB4PSI2OXB4IiB5PSI4NC4yM3B4IiBzdHlsZT0iZm9udC1mYW1pbHk6J0FwcGxlTXl1bmdqbyc7Zm9udC1zaXplOjE0cHg7ZmlsbDp3aGl0ZTsiPi5naWY8L3RleHQ+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC4zNDU3NTEsMCwwLDAuMzQ1NzUxLDEwNzIuODAyMTM0LC0yMy43NjcxMjgpIj4KICAgICAgICAgICAgICAgIDxyZWN0IHg9IjE3NyIgeT0iMTk2IiB3aWR0aD0iNDg3IiBoZWlnaHQ9IjQ4NyIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo=");
  --icon-convert: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDUzMiA1NjYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+CiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC02MjAuMjc0NjE0LC0xMSkiPgogICAgICAgIDxnIGlkPSJDb252ZXJ0IiB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC01LjczMjg1NiwtMzMpIj4KICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC44ODU4NDUsMCwwLDAuODg1ODQ1LC0xNy41MTgzNTIsMTM4Ljg5NDk3OCkiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIxNi41IiBjeT0iNDIxLjUiIHI9IjEwOS41IiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjM0NTc1MSwwLDAsMC4zNDU3NTEsNTY0LjgwOTYwNCwtMjMuNzY3MTI4KSI+CiAgICAgICAgICAgICAgICA8cmVjdCB4PSIxNzciIHk9IjE5NiIgd2lkdGg9IjQ4NyIgaGVpZ2h0PSI0ODciIHN0eWxlPSJmaWxsOndoaXRlOyIvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDEsLTMxNi42MTE5NjIsMTkzLjg2ODc0NykiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTEzMDkuNzI0LDgyLjExN0wxMzA5LjcyNCwxNzQuOTc5QzEzMDkuNzI0LDIwMC42MDUgMTI4OC45MTksMjIxLjQxIDEyNjMuMjkzLDIyMS40MUwxMTcwLjQzMSwyMjEuNDFDMTE0NC44MDUsMjIxLjQxIDExMjQsMjAwLjYwNSAxMTI0LDE3NC45NzlMMTEyNCw4Mi4xMTdDMTEyNCw1Ni40OTEgMTE0NC44MDUsMzUuNjg2IDExNzAuNDMxLDM1LjY4NkwxMjYzLjI5MywzNS42ODZDMTI4OC45MTksMzUuNjg2IDEzMDkuNzI0LDU2LjQ5MSAxMzA5LjcyNCw4Mi4xMTdaIiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==");
  --icon-compress: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDU0MSA1NjEiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+CiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0zOC4yMDU2NjEsLTY4MS40NDI5NykiPgogICAgICAgIDxnIGlkPSJDb21wcmVzcyIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMTAyLjI4NDE2LC0xMjQuNjA3NjE4KSI+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuODg1ODQ1LDAsMCwwLjg4NTg0NSwtNjI4LjE0MDMxNiw3NDMuNjY3MDI3KSI+CiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSIxMjE2LjUiIGN5PSI0MjEuNSIgcj0iMTA5LjUiIHN0eWxlPSJmaWxsOndoaXRlOyIvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEuMTQ2MTE5LDAsMCwxLjE0NjExOSwtMTEyOC4yNjM2MDQsNDQ4LjQ2MTU0NykiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIxNi41IiBjeT0iNDIxLjUiIHI9IjEwOS41IiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjY5NzIxNiwwLDAsMC42OTcyMTYsLTI0My4zMTA1NDIsOTk2LjUxOTIyNSkiPgogICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIxNi41IiBjeT0iNDIxLjUiIHI9IjEwOS41IiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+Cg==");
  --icon-combine: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDYyNyA2MzEiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+CiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0zNywtMTEpIj4KICAgICAgICA8ZyBpZD0iQ29tYmluZSIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwwLC04KSI+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAsLTAuNzk4MzU0LDAuNzk4MzU0LDAsLTExMC42OTU0NzMsNTY5Ljg2NDE5OCkiPgogICAgICAgICAgICAgICAgPHBhdGggZD0iTTQ0NywxODVMNjkwLDQyOEw0NDcsNDI4TDQ0NywxODVaTTQ2NS4yNjcsMjI5LjFMNDY1LjI2Nyw0MDkuNzMzTDY0NS45LDQwOS43MzNMNDY1LjI2NywyMjkuMVoiIHN0eWxlPSJmaWxsOndoaXRlOyIvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAsLTAuNzk4MzU0LDAuNzk4MzU0LDAsMTA0LjgwNDUyNyw3ODkuNTUwMjQ0KSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDQ3LDE4NUw2OTAsNDI4TDQ0Nyw0MjhMNDQ3LDE4NVoiIHN0eWxlPSJmaWxsOndoaXRlOyIvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAsMC43OTgzNTQsLTAuNzk4MzU0LDAsODExLjY5NTQ3Myw5OC45NjkxMzYpIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik00NDcsMTg1TDY5MCw0MjhMNDQ3LDQyOEw0NDcsMTg1WiIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMCwwLjc5ODM1NCwtMC43OTgzNTQsMCw1OTUuMTk1NDczLC0xMTguMTc4MTUxKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNNDQ3LDE4NUw2OTAsNDI4TDQ0Nyw0MjhMNDQ3LDE4NVpNNDY1LjI2NywyMjkuMUw0NjUuMjY3LDQwOS43MzNMNjQ1LjksNDA5LjczM0w0NjUuMjY3LDIyOS4xWiIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo=");
  --icon-cleanly: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDU0NCA1NzAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+CiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC02MTIuOTA3MjM1LC02NTgpIj4KICAgICAgICA8ZyBpZD0iQ2xlYW5seSIgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtMSwtNTYuMTA3NjE4KSI+CiAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuOTI4MTA3LDAsMCwwLjkyODEwNywtNzIuOTI0MTE0LDc5MC43NjM3OTcpIj4KICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjE2LjUsMzEyQzEyNzYuOTM1LDMxMiAxMzI2LDM2MS4wNjUgMTMyNiw0MjEuNUMxMzI2LDQ4MS45MzUgMTI3Ni45MzUsNTMxIDEyMTYuNSw1MzFDMTE1Ni4wNjUsNTMxIDExMDcsNDgxLjkzNSAxMTA3LDQyMS41QzExMDcsMzYxLjA2NSAxMTU2LjA2NSwzMTIgMTIxNi41LDMxMlpNMTIxNi41LDMyNy43MTNDMTE2NC43MzgsMzI3LjcxMyAxMTIyLjcxMywzNjkuNzM4IDExMjIuNzEzLDQyMS41QzExMjIuNzEzLDQ3My4yNjIgMTE2NC43MzgsNTE1LjI4NyAxMjE2LjUsNTE1LjI4N0MxMjY4LjI2Miw1MTUuMjg3IDEzMTAuMjg3LDQ3My4yNjIgMTMxMC4yODcsNDIxLjVDMTMxMC4yODcsMzY5LjczOCAxMjY4LjI2MiwzMjcuNzEzIDEyMTYuNSwzMjcuNzEzWiIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC42NTYyNzEsLTAuNjU2MjcxLDAuNjU2MjcxLDAuNjU2MjcxLC0xNzQuNDcyMjc5LDE1MTMuNDg3NjQ2KSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEwNyw0MjEuNUwxMjE2LjUsNDIxLjVMMTMyNiw0MjEuNUMxMzI2LDQ4MS45NzUgMTI3Ni45NzUsNTMxIDEyMTYuNSw1MzFDMTE1Ni4wMjUsNTMxIDExMDcsNDgxLjk3NSAxMTA3LDQyMS41Wk0xMTI0LjAyMyw0MzcuMjEzQzExMzEuNDk5LDQ4MS41MyAxMTcwLjA1Nyw1MTUuMjg3IDEyMTYuNSw1MTUuMjg3QzEyNjIuOTQzLDUxNS4yODcgMTMwMS41MDEsNDgxLjUyOSAxMzA4Ljk3Niw0MzcuMjEzTDEyMTYuNSw0MzcuMjEzTDExMjQuMDIzLDQzNy4yMTNaIiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4KICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgtMC42NTYyNzEsMC42NTYyNzEsLTAuNjU2MjcxLC0wLjY1NjI3MSwxOTc2LjQ1MTcyNSw0NzAuMDE2NjkxKSI+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTEwNyw0MjEuNUwxMjE2LjUsNDIxLjVMMTMyNiw0MjEuNUMxMzI2LDQ4MS45NzUgMTI3Ni45NzUsNTMxIDEyMTYuNSw1MzFDMTE1Ni4wMjUsNTMxIDExMDcsNDgxLjk3NSAxMTA3LDQyMS41WiIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC40MTE4NzIsMC40MTg2NTQsLTEuMzIxNDYsMS4zMDAwNTIsMTg1OC4yMDk3MzcsLTQxMC4yNzU4ODEpIj4KICAgICAgICAgICAgICAgIDxyZWN0IHg9IjU1NiIgeT0iNzY0IiB3aWR0aD0iMjMuOTE0IiBoZWlnaHQ9IjI3NCIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMSwwLDAsMSwtNTguMDA3NTUzLDkuODUxNDQ1KSI+CiAgICAgICAgICAgICAgICA8Y2lyY2xlIGN4PSI3NzMuNTQzIiBjeT0iODA1Ljg4NCIgcj0iMTAxLjYyOCIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo=");
  --icon-coudio: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDE1MCAxNjYiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoyOyI+CiAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwxLC0wLjAwMDA4LC0wLjAwMDAyMykiPgogICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMjg3OTA4LDAsMCwwLjI4ODY5NiwtMTk5LjE4MjM3MiwtMzQwLjQyNTE3OCkiPgogICAgICAgICAgICA8Zz4KICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuODg1ODQ1LDAsMCwwLjg4NTg0NSwtMjg4LjgwMzM2NSw5MDIuODAwMDM4KSI+CiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjeD0iMTIxNi41IiBjeT0iNDIxLjUiIHI9IjEwOS41IiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuODg1ODQ1LDAsMCwwLjg4NTg0NSwtMTI0LjU3NTY3MSwxMDg5LjQxNTExNikiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjE2LjUsMzEyQzEyNzYuOTM1LDMxMiAxMzI2LDM2MS4wNjUgMTMyNiw0MjEuNUMxMzI2LDQ4MS45MzUgMTI3Ni45MzUsNTMxIDEyMTYuNSw1MzFDMTE1Ni4wNjUsNTMxIDExMDcsNDgxLjkzNSAxMTA3LDQyMS41QzExMDcsMzYxLjA2NSAxMTU2LjA2NSwzMTIgMTIxNi41LDMxMlpNMTIxNi41LDMyOC40NjNDMTE2NS4xNTEsMzI4LjQ2MyAxMTIzLjQ2MywzNzAuMTUxIDExMjMuNDYzLDQyMS41QzExMjMuNDYzLDQ3Mi44NDkgMTE2NS4xNTEsNTE0LjUzNyAxMjE2LjUsNTE0LjUzN0MxMjY3Ljg0OSw1MTQuNTM3IDEzMDkuNTM3LDQ3Mi44NDkgMTMwOS41MzcsNDIxLjVDMTMwOS41MzcsMzcwLjE1MSAxMjY3Ljg0OSwzMjguNDYzIDEyMTYuNSwzMjguNDYzWiIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjg4NTg0NSwwLDAsMC44ODU4NDUsMzguMDg1NjMyLDEyODMuNDE1MTE2KSI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMTYuNSwzMTJDMTI3Ni45MzUsMzEyIDEzMjYsMzYxLjA2NSAxMzI2LDQyMS41QzEzMjYsNDgxLjkzNSAxMjc2LjkzNSw1MzEgMTIxNi41LDUzMUMxMTU2LjA2NSw1MzEgMTEwNyw0ODEuOTM1IDExMDcsNDIxLjVDMTEwNywzNjEuMDY1IDExNTYuMDY1LDMxMiAxMjE2LjUsMzEyWk0xMjE2LjUsMzI4LjQ2M0MxMTY1LjE1MSwzMjguNDYzIDExMjMuNDYzLDM3MC4xNTEgMTEyMy40NjMsNDIxLjVDMTEyMy40NjMsNDcyLjg0OSAxMTY1LjE1MSw1MTQuNTM3IDEyMTYuNSw1MTQuNTM3QzEyNjcuODQ5LDUxNC41MzcgMTMwOS41MzcsNDcyLjg0OSAxMzA5LjUzNyw0MjEuNUMxMzA5LjUzNywzNzAuMTUxIDEyNjcuODQ5LDMyOC40NjMgMTIxNi41LDMyOC40NjNaIiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuNTk5NjQ3LDAsMCwwLjU5OTY0NywyMjMuNTg0Mzc2LDEyMTAuMDQ3NjM1KSI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTEyMTYuNSwzMTJDMTI3Ni45MzUsMzEyIDEzMjYsMzYxLjA2NSAxMzI2LDQyMS41QzEzMjYsNDgxLjkzNSAxMjc2LjkzNSw1MzEgMTIxNi41LDUzMUMxMTU2LjA2NSw1MzEgMTEwNyw0ODEuOTM1IDExMDcsNDIxLjVDMTEwNywzNjEuMDY1IDExNTYuMDY1LDMxMiAxMjE2LjUsMzEyWk0xMjE2LjUsMzM2LjMyQzExNjkuNDg4LDMzNi4zMiAxMTMxLjMyLDM3NC40ODggMTEzMS4zMiw0MjEuNUMxMTMxLjMyLDQ2OC41MTIgMTE2OS40ODgsNTA2LjY4IDEyMTYuNSw1MDYuNjhDMTI2My41MTIsNTA2LjY4IDEzMDEuNjgsNDY4LjUxMiAxMzAxLjY4LDQyMS41QzEzMDEuNjgsMzc0LjQ4OCAxMjYzLjUxMiwzMzYuMzIgMTIxNi41LDMzNi4zMloiIHN0eWxlPSJmaWxsOndoaXRlOyIvPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC41OTk2NDcsMCwwLDAuNTk5NjQ3LDM4Ni4yNDU2NzksMTQwNC4wNDc2MzUpIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIxNi41LDMxMkMxMjc2LjkzNSwzMTIgMTMyNiwzNjEuMDY1IDEzMjYsNDIxLjVDMTMyNiw0ODEuOTM1IDEyNzYuOTM1LDUzMSAxMjE2LjUsNTMxQzExNTYuMDY1LDUzMSAxMTA3LDQ4MS45MzUgMTEwNyw0MjEuNUMxMTA3LDM2MS4wNjUgMTE1Ni4wNjUsMzEyIDEyMTYuNSwzMTJaTTEyMTYuNSwzMzYuMzJDMTE2OS40ODgsMzM2LjMyIDExMzEuMzIsMzc0LjQ4OCAxMTMxLjMyLDQyMS41QzExMzEuMzIsNDY4LjUxMiAxMTY5LjQ4OCw1MDYuNjggMTIxNi41LDUwNi42OEMxMjYzLjUxMiw1MDYuNjggMTMwMS42OCw0NjguNTEyIDEzMDEuNjgsNDIxLjVDMTMwMS42OCwzNzQuNDg4IDEyNjMuNTEyLDMzNi4zMiAxMjE2LjUsMzM2LjMyWiIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgwLjMwMTM3LDAsMCwwLjMwMTM3LDU4Ni40MzgwMjcsMTMzNS43NzEyOCkiPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik0xMjE2LjUsMzEyQzEyNzYuOTM1LDMxMiAxMzI2LDM2MS4wNjUgMTMyNiw0MjEuNUMxMzI2LDQ4MS45MzUgMTI3Ni45MzUsNTMxIDEyMTYuNSw1MzFDMTE1Ni4wNjUsNTMxIDExMDcsNDgxLjkzNSAxMTA3LDQyMS41QzExMDcsMzYxLjA2NSAxMTU2LjA2NSwzMTIgMTIxNi41LDMxMlpNMTIxNi41LDM2MC4zOUMxMTgyLjc3MywzNjAuMzkgMTE1NS4zOSwzODcuNzczIDExNTUuMzksNDIxLjVDMTE1NS4zOSw0NTUuMjI3IDExODIuNzczLDQ4Mi42MSAxMjE2LjUsNDgyLjYxQzEyNTAuMjI3LDQ4Mi42MSAxMjc3LjYxLDQ1NS4yMjcgMTI3Ny42MSw0MjEuNUMxMjc3LjYxLDM4Ny43NzMgMTI1MC4yMjcsMzYwLjM5IDEyMTYuNSwzNjAuMzlaIiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDAuMzAxMzcsMCwwLDAuMzAxMzcsNzQ5LjA5OTMzLDE1MjkuNzcxMjgpIj4KICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSJNMTIxNi41LDMxMkMxMjc2LjkzNSwzMTIgMTMyNiwzNjEuMDY1IDEzMjYsNDIxLjVDMTMyNiw0ODEuOTM1IDEyNzYuOTM1LDUzMSAxMjE2LjUsNTMxQzExNTYuMDY1LDUzMSAxMTA3LDQ4MS45MzUgMTEwNyw0MjEuNUMxMTA3LDM2MS4wNjUgMTE1Ni4wNjUsMzEyIDEyMTYuNSwzMTJaTTEyMTYuNSwzNjAuMzlDMTE4Mi43NzMsMzYwLjM5IDExNTUuMzksMzg3Ljc3MyAxMTU1LjM5LDQyMS41QzExNTUuMzksNDU1LjIyNyAxMTgyLjc3Myw0ODIuNjEgMTIxNi41LDQ4Mi42MUMxMjUwLjIyNyw0ODIuNjEgMTI3Ny42MSw0NTUuMjI3IDEyNzcuNjEsNDIxLjVDMTI3Ny42MSwzODcuNzczIDEyNTAuMjI3LDM2MC4zOSAxMjE2LjUsMzYwLjM5WiIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgtMC42Mjg4NzQsMC42Mjg4NzQsLTAuNjI4ODc0LC0wLjYyODg3NCwxOTgzLjUxNTc0NCw5NjMuMjI5MTQyKSI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTExMDcsNDIxLjVMMTMyNiw0MjEuNUMxMzI2LDQ4MS45NzUgMTI3Ni45NzUsNTMxIDEyMTYuNSw1MzFDMTE1Ni4wMjUsNTMxIDExMDcsNDgxLjk3NSAxMTA3LDQyMS41WiIgc3R5bGU9ImZpbGw6d2hpdGU7Ii8+CiAgICAgICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo=");
}

/* Mask (not background-image) so the icon's color is set by CSS
   (background-color below) instead of being baked into the SVG itself
   — same white-in-dark/black-in-light behavior the old invert filter
   used to give for free, but explicit and without needing a second set
   of icon assets. A CSS mask only uses the SVG for its shape/alpha;
   the actual paint color comes from background-color. */
.icon-convert,
.icon-context,
.icon-compress,
.icon-combine,
.icon-cleanly,
.icon-gif,
.icon-coudio{
  -webkit-mask-size:contain;
  mask-size:contain;
  -webkit-mask-repeat:no-repeat;
  mask-repeat:no-repeat;
  -webkit-mask-position:center;
  mask-position:center;
  background-color:#ffffff;
}
html[data-theme="light"] .icon-convert,
html[data-theme="light"] .icon-context,
html[data-theme="light"] .icon-compress,
html[data-theme="light"] .icon-combine,
html[data-theme="light"] .icon-cleanly,
html[data-theme="light"] .icon-gif,
html[data-theme="light"] .icon-coudio{
  background-color:#000000;
}
.icon-convert{-webkit-mask-image:var(--icon-convert);mask-image:var(--icon-convert);}
.icon-context{-webkit-mask-image:var(--icon-context);mask-image:var(--icon-context);}
.icon-compress{-webkit-mask-image:var(--icon-compress);mask-image:var(--icon-compress);}
.icon-combine{-webkit-mask-image:var(--icon-combine);mask-image:var(--icon-combine);}
.icon-cleanly{-webkit-mask-image:var(--icon-cleanly);mask-image:var(--icon-cleanly);}
.icon-gif{-webkit-mask-image:var(--icon-gif);mask-image:var(--icon-gif);}
.icon-coudio{-webkit-mask-image:var(--icon-coudio);mask-image:var(--icon-coudio);}
/* Generic "no icon yet" placeholder — used until a real .icon-X slot
   (background-image via --icon-X, like the others above) is ready. */
.gfx-placeholder{
  font-size:10px;
  font-weight:700;
  text-align:center;
  line-height:1.1;
  opacity:.6;
  white-space:normal;
  word-break:break-all;
}
