:root {
    --bosch-gray-95-rgb-raw: 239, 241, 242;      /* --bosch-gray-95: #eff1f2; */
    --bosch-gray-90-rgb-raw: 224, 226, 229;      /* --bosch-gray-90: #e0e2e5; */
    --bosch-gray-85-rgb-raw: 208, 212, 216;      /* --bosch-gray-85: #d0d4d8; */
    --bosch-gray-80-rgb-raw: 193, 199, 204;      /* --bosch-gray-80: #c1c7cc; */
    --bosch-gray-75-rgb-raw: 178, 185, 192;      /* --bosch-gray-75: #b2b9c0; */
    --bosch-gray-70-rgb-raw: 164, 171, 179;      /* --bosch-gray-70: #a4abb3; */
    --bosch-gray-65-rgb-raw: 151, 158, 164;      /* --bosch-gray-65: #979ea4; */
    --bosch-gray-60-rgb-raw: 138, 144, 151;      /* --bosch-gray-60: #8a9097; */
    --bosch-gray-55-rgb-raw: 125, 131, 137;      /* --bosch-gray-55: #7d8389; */
    --bosch-gray-50-rgb-raw: 113, 118, 124;      /* --bosch-gray-50: #71767c; */
    --bosch-gray-45-rgb-raw: 101, 106, 111;      /* --bosch-gray-45: #656a6f; */
    --bosch-gray-40-rgb-raw: 89, 94, 98;         /* --bosch-gray-40: #595e62; */
    --bosch-gray-35-rgb-raw: 78, 82, 86;         /* --bosch-gray-35: #4e5256; */
    --bosch-gray-30-rgb-raw: 67, 70, 74;         /* --bosch-gray-30: #43464a; */
    --bosch-gray-25-rgb-raw: 56, 59, 62;         /* --bosch-gray-25: #383b3e; */
    --bosch-gray-20-rgb-raw: 46, 48, 51;         /* --bosch-gray-20: #2e3033; */
    --bosch-gray-15-rgb-raw: 35, 38, 40;         /* --bosch-gray-15: #232628; */
    --bosch-gray-10-rgb-raw: 26, 28, 29;         /* --bosch-gray-10: #1a1c1d; */
    --bosch-gray-5-rgb-raw: 16, 17, 18;          /* --bosch-gray-5: #101112; */
    --bosch-purple-95-rgb-raw: 247, 238, 246;    /* --bosch-purple-95: #f7eef6; */
    --bosch-purple-90-rgb-raw: 240, 220, 238;    /* --bosch-purple-90: #f0dcee; */
    --bosch-purple-85-rgb-raw: 235, 202, 232;    /* --bosch-purple-85: #ebcae8; */
    --bosch-purple-80-rgb-raw: 232, 182, 227;    /* --bosch-purple-80: #e8b6e3; */
    --bosch-purple-75-rgb-raw: 229, 162, 223;    /* --bosch-purple-75: #e5a2df; */
    --bosch-purple-70-rgb-raw: 228, 140, 221;    /* --bosch-purple-70: #e48cdd; */
    --bosch-purple-65-rgb-raw: 228, 114, 219;    /* --bosch-purple-65: #e472db; */
    --bosch-purple-60-rgb-raw: 229, 82, 218;     /* --bosch-purple-60: #e552da; */
    --bosch-purple-55-rgb-raw: 213, 67, 203;     /* --bosch-purple-55: #d543cb; */
    --bosch-purple-50-rgb-raw: 197, 53, 188;     /* --bosch-purple-50: #c535bc; */
    --bosch-purple-45-rgb-raw: 177, 46, 169;     /* --bosch-purple-45: #b12ea9; */
    --bosch-purple-40-rgb-raw: 158, 40, 150;     /* --bosch-purple-40: #9e2896; */
    --bosch-purple-35-rgb-raw: 139, 34, 132;     /* --bosch-purple-35: #8b2284; */
    --bosch-purple-30-rgb-raw: 121, 29, 115;     /* --bosch-purple-30: #791d73; */
    --bosch-purple-25-rgb-raw: 103, 23, 97;      /* --bosch-purple-25: #671761; */
    --bosch-purple-20-rgb-raw: 85, 17, 81;       /* --bosch-purple-20: #551151; */
    --bosch-purple-15-rgb-raw: 68, 12, 65;       /* --bosch-purple-15: #440c41; */
    --bosch-purple-10-rgb-raw: 52, 7, 49;        /* --bosch-purple-10: #340731; */
    --bosch-purple-5-rgb-raw: 35, 4, 33;         /* --bosch-purple-5: #230421; */
    --bosch-blue-95-rgb-raw: 232, 241, 255;      /* --bosch-blue-95: #e8f1ff; */
    --bosch-blue-90-rgb-raw: 209, 228, 255;      /* --bosch-blue-90: #d1e4ff; */
    --bosch-blue-85-rgb-raw: 184, 214, 255;      /* --bosch-blue-85: #b8d6ff; */
    --bosch-blue-80-rgb-raw: 157, 201, 255;      /* --bosch-blue-80: #9dc9ff; */
    --bosch-blue-75-rgb-raw: 126, 189, 255;      /* --bosch-blue-75: #7ebdff; */
    --bosch-blue-70-rgb-raw: 86, 176, 255;       /* --bosch-blue-70: #56b0ff; */
    --bosch-blue-65-rgb-raw: 0, 164, 253;        /* --bosch-blue-65: #00a4fd; */
    --bosch-blue-60-rgb-raw: 0, 150, 232;        /* --bosch-blue-60: #0096e8; */
    --bosch-blue-55-rgb-raw: 0, 136, 212;        /* --bosch-blue-55: #0088d4; */
    --bosch-blue-50-rgb-raw: 0, 123, 192;        /* --bosch-blue-50: #007bc0; */
    --bosch-blue-45-rgb-raw: 0, 110, 173;        /* --bosch-blue-45: #006ead; */
    --bosch-blue-40-rgb-raw: 0, 98, 154;         /* --bosch-blue-40: #00629a; */
    --bosch-blue-35-rgb-raw: 0, 85, 135;         /* --bosch-blue-35: #005587; */
    --bosch-blue-30-rgb-raw: 0, 73, 117;         /* --bosch-blue-30: #004975; */
    --bosch-blue-25-rgb-raw: 0, 62, 100;         /* --bosch-blue-25: #003e64; */
    --bosch-blue-20-rgb-raw: 0, 50, 83;          /* --bosch-blue-20: #003253; */
    --bosch-blue-15-rgb-raw: 0, 39, 66;          /* --bosch-blue-15: #002742; */
    --bosch-blue-10-rgb-raw: 0, 29, 51;          /* --bosch-blue-10: #001d33; */
    --bosch-blue-5-rgb-raw: 0, 18, 34;           /* --bosch-blue-5: #001222; */
    --bosch-turquoise-95-rgb-raw: 222, 245, 243; /* --bosch-turquoise-95: #def5f3; */
    --bosch-turquoise-90-rgb-raw: 182, 237, 232; /* --bosch-turquoise-90: #b6ede8; */
    --bosch-turquoise-85-rgb-raw: 161, 223, 219; /* --bosch-turquoise-85: #a1dfdb; */
    --bosch-turquoise-80-rgb-raw: 141, 210, 205; /* --bosch-turquoise-80: #8dd2cd; */
    --bosch-turquoise-75-rgb-raw: 121, 197, 192; /* --bosch-turquoise-75: #79c5c0; */
    --bosch-turquoise-70-rgb-raw: 102, 184, 178; /* --bosch-turquoise-70: #66b8b2; */
    --bosch-turquoise-65-rgb-raw: 84, 171, 165;  /* --bosch-turquoise-65: #54aba5; */
    --bosch-turquoise-60-rgb-raw: 65, 158, 152;  /* --bosch-turquoise-60: #419e98; */
    --bosch-turquoise-55-rgb-raw: 46, 144, 139;  /* --bosch-turquoise-55: #2e908b; */
    --bosch-turquoise-50-rgb-raw: 24, 131, 126;  /* --bosch-turquoise-50: #18837e; */
    --bosch-turquoise-45-rgb-raw: 20, 118, 113;  /* --bosch-turquoise-45: #147671; */
    --bosch-turquoise-40-rgb-raw: 17, 104, 100;  /* --bosch-turquoise-40: #116864; */
    --bosch-turquoise-35-rgb-raw: 14, 91, 87;    /* --bosch-turquoise-35: #0e5b57; */
    --bosch-turquoise-30-rgb-raw: 10, 79, 75;    /* --bosch-turquoise-30: #0a4f4b; */
    --bosch-turquoise-25-rgb-raw: 7, 66, 63;     /* --bosch-turquoise-25: #07423f; */
    --bosch-turquoise-20-rgb-raw: 5, 54, 52;     /* --bosch-turquoise-20: #053634; */
    --bosch-turquoise-15-rgb-raw: 3, 43, 40;     /* --bosch-turquoise-15: #032b28; */
    --bosch-turquoise-10-rgb-raw: 2, 32, 30;     /* --bosch-turquoise-10: #02201e; */
    --bosch-turquoise-5-rgb-raw: 1, 20, 19;      /* --bosch-turquoise-5: #011413; */
    --bosch-green-95-rgb-raw: 226, 245, 231;     /* --bosch-green-95: #e2f5e7; */
    --bosch-green-90-rgb-raw: 184, 239, 201;     /* --bosch-green-90: #b8efc9; */
    --bosch-green-85-rgb-raw: 155, 228, 179;     /* --bosch-green-85: #9be4b3; */
    --bosch-green-80-rgb-raw: 134, 215, 162;     /* --bosch-green-80: #86d7a2; */
    --bosch-green-75-rgb-raw: 114, 202, 146;     /* --bosch-green-75: #72ca92; */
    --bosch-green-70-rgb-raw: 94, 189, 130;      /* --bosch-green-70: #5ebd82; */
    --bosch-green-65-rgb-raw: 74, 176, 115;      /* --bosch-green-65: #4ab073; */
    --bosch-green-60-rgb-raw: 55, 162, 100;      /* --bosch-green-60: #37a264; */
    --bosch-green-55-rgb-raw: 33, 149, 87;       /* --bosch-green-55: #219557; */
    --bosch-green-50-rgb-raw: 0, 136, 74;        /* --bosch-green-50: #00884a; */
    --bosch-green-45-rgb-raw: 0, 122, 66;        /* --bosch-green-45: #007a42; */
    --bosch-green-40-rgb-raw: 0, 108, 58;        /* --bosch-green-40: #006c3a; */
    --bosch-green-35-rgb-raw: 0, 95, 50;         /* --bosch-green-35: #005f32; */
    --bosch-green-30-rgb-raw: 0, 81, 42;         /* --bosch-green-30: #00512a; */
    --bosch-green-25-rgb-raw: 0, 69, 35;         /* --bosch-green-25: #004523; */
    --bosch-green-20-rgb-raw: 0, 56, 27;         /* --bosch-green-20: #00381b; */
    --bosch-green-15-rgb-raw: 0, 44, 20;         /* --bosch-green-15: #002c14; */
    --bosch-green-10-rgb-raw: 0, 33, 14;         /* --bosch-green-10: #00210e; */
    --bosch-green-5-rgb-raw: 0, 21, 7;           /* --bosch-green-5: #001507; */
    --bosch-yellow-95-rgb-raw: 255, 239, 209;    /* --bosch-yellow-95: #ffefd1; */
    --bosch-yellow-90-rgb-raw: 255, 223, 149;    /* --bosch-yellow-90: #ffdf95; */
    --bosch-yellow-85-rgb-raw: 255, 207, 0;      /* --bosch-yellow-85: #ffcf00; */
    --bosch-yellow-80-rgb-raw: 238, 193, 0;      /* --bosch-yellow-80: #eec100; */
    --bosch-yellow-75-rgb-raw: 222, 179, 0;      /* --bosch-yellow-75: #deb300; */
    --bosch-yellow-70-rgb-raw: 205, 166, 0;      /* --bosch-yellow-70: #cda600; */
    --bosch-yellow-65-rgb-raw: 189, 153, 0;      /* --bosch-yellow-65: #bd9900; */
    --bosch-yellow-60-rgb-raw: 173, 140, 0;      /* --bosch-yellow-60: #ad8c00; */
    --bosch-yellow-55-rgb-raw: 158, 127, 0;      /* --bosch-yellow-55: #9e7f00; */
    --bosch-yellow-50-rgb-raw: 143, 115, 0;      /* --bosch-yellow-50: #8f7300; */
    --bosch-yellow-45-rgb-raw: 128, 103, 0;      /* --bosch-yellow-45: #806700; */
    --bosch-yellow-40-rgb-raw: 114, 91, 0;       /* --bosch-yellow-40: #725b00; */
    --bosch-yellow-35-rgb-raw: 100, 79, 0;       /* --bosch-yellow-35: #644f00; */
    --bosch-yellow-30-rgb-raw: 86, 68, 0;        /* --bosch-yellow-30: #564400; */
    --bosch-yellow-25-rgb-raw: 73, 57, 0;        /* --bosch-yellow-25: #493900; */
    --bosch-yellow-20-rgb-raw: 60, 46, 0;        /* --bosch-yellow-20: #3c2e00; */
    --bosch-yellow-15-rgb-raw: 47, 36, 0;        /* --bosch-yellow-15: #2f2400; */
    --bosch-yellow-10-rgb-raw: 35, 26, 0;        /* --bosch-yellow-10: #231a00; */
    --bosch-yellow-5-rgb-raw: 23, 16, 0;         /* --bosch-yellow-5: #171000; */
    --bosch-red-95-rgb-raw: 255, 236, 236;       /* --bosch-red-95: #ffecec; */
    --bosch-red-90-rgb-raw: 255, 217, 217;       /* --bosch-red-90: #ffd9d9; */
    --bosch-red-85-rgb-raw: 255, 198, 198;       /* --bosch-red-85: #ffc6c6; */
    --bosch-red-80-rgb-raw: 255, 178, 178;       /* --bosch-red-80: #ffb2b2; */
    --bosch-red-75-rgb-raw: 255, 157, 157;       /* --bosch-red-75: #ff9d9d; */
    --bosch-red-70-rgb-raw: 255, 135, 135;       /* --bosch-red-70: #ff8787; */
    --bosch-red-65-rgb-raw: 255, 110, 111;       /* --bosch-red-65: #ff6e6f; */
    --bosch-red-60-rgb-raw: 255, 81, 82;         /* --bosch-red-60: #ff5152; */
    --bosch-red-55-rgb-raw: 255, 33, 36;         /* --bosch-red-55: #ff2124; */
    --bosch-red-50-rgb-raw: 237, 0, 7;           /* --bosch-red-50: #ed0007; */
    --bosch-red-45-rgb-raw: 213, 0, 5;           /* --bosch-red-45: #d50005; */
    --bosch-red-40-rgb-raw: 190, 0, 4;           /* --bosch-red-40: #be0004; */
    --bosch-red-35-rgb-raw: 168, 0, 3;           /* --bosch-red-35: #a80003; */
    --bosch-red-30-rgb-raw: 146, 0, 2;           /* --bosch-red-30: #920002; */
    --bosch-red-25-rgb-raw: 125, 0, 2;           /* --bosch-red-25: #7d0002; */
    --bosch-red-20-rgb-raw: 104, 0, 1;           /* --bosch-red-20: #680001; */
    --bosch-red-15-rgb-raw: 84, 0, 1;            /* --bosch-red-15: #540001; */
    --bosch-red-10-rgb-raw: 65, 0, 0;            /* --bosch-red-10: #410000; */
    --bosch-red-5-rgb-raw: 45, 0, 0;             /* --bosch-red-5: #2d0000; */

    --bosch-white: #fff;
    --bosch-black: #000;
    --shadow-fill: #00000040;

    --bosch-gray-95: rgb(var(--bosch-gray-95-rgb-raw));
    --bosch-gray-90: rgb(var(--bosch-gray-90-rgb-raw));
    --bosch-gray-85: rgb(var(--bosch-gray-85-rgb-raw));
    --bosch-gray-80: rgb(var(--bosch-gray-80-rgb-raw));
    --bosch-gray-75: rgb(var(--bosch-gray-75-rgb-raw));
    --bosch-gray-70: rgb(var(--bosch-gray-70-rgb-raw));
    --bosch-gray-65: rgb(var(--bosch-gray-65-rgb-raw));
    --bosch-gray-60: rgb(var(--bosch-gray-60-rgb-raw));
    --bosch-gray-55: rgb(var(--bosch-gray-55-rgb-raw));
    --bosch-gray-50: rgb(var(--bosch-gray-50-rgb-raw));
    --bosch-gray-45: rgb(var(--bosch-gray-45-rgb-raw));
    --bosch-gray-40: rgb(var(--bosch-gray-40-rgb-raw));
    --bosch-gray-35: rgb(var(--bosch-gray-35-rgb-raw));
    --bosch-gray-30: rgb(var(--bosch-gray-30-rgb-raw));
    --bosch-gray-25: rgb(var(--bosch-gray-25-rgb-raw));
    --bosch-gray-20: rgb(var(--bosch-gray-20-rgb-raw));
    --bosch-gray-15: rgb(var(--bosch-gray-15-rgb-raw));
    --bosch-gray-10: rgb(var(--bosch-gray-10-rgb-raw));
    --bosch-gray-5: rgb(var(--bosch-gray-5-rgb-raw));
    --bosch-purple-95: rgb(var(--bosch-purple-95-rgb-raw));
    --bosch-purple-90: rgb(var(--bosch-purple-90-rgb-raw));
    --bosch-purple-85: rgb(var(--bosch-purple-85-rgb-raw));
    --bosch-purple-80: rgb(var(--bosch-purple-80-rgb-raw));
    --bosch-purple-75: rgb(var(--bosch-purple-75-rgb-raw));
    --bosch-purple-70: rgb(var(--bosch-purple-70-rgb-raw));
    --bosch-purple-65: rgb(var(--bosch-purple-65-rgb-raw));
    --bosch-purple-60: rgb(var(--bosch-purple-60-rgb-raw));
    --bosch-purple-55: rgb(var(--bosch-purple-55-rgb-raw));
    --bosch-purple-50: rgb(var(--bosch-purple-50-rgb-raw));
    --bosch-purple-45: rgb(var(--bosch-purple-45-rgb-raw));
    --bosch-purple-40: rgb(var(--bosch-purple-40-rgb-raw));
    --bosch-purple-35: rgb(var(--bosch-purple-35-rgb-raw));
    --bosch-purple-30: rgb(var(--bosch-purple-30-rgb-raw));
    --bosch-purple-25: rgb(var(--bosch-purple-25-rgb-raw));
    --bosch-purple-20: rgb(var(--bosch-purple-20-rgb-raw));
    --bosch-purple-15: rgb(var(--bosch-purple-15-rgb-raw));
    --bosch-purple-10: rgb(var(--bosch-purple-10-rgb-raw));
    --bosch-purple-5: rgb(var(--bosch-purple-5-rgb-raw));
    --bosch-blue-95: rgb(var(--bosch-blue-95-rgb-raw));
    --bosch-blue-90: rgb(var(--bosch-blue-90-rgb-raw));
    --bosch-blue-85: rgb(var(--bosch-blue-85-rgb-raw));
    --bosch-blue-80: rgb(var(--bosch-blue-80-rgb-raw));
    --bosch-blue-75: rgb(var(--bosch-blue-75-rgb-raw));
    --bosch-blue-70: rgb(var(--bosch-blue-70-rgb-raw));
    --bosch-blue-65: rgb(var(--bosch-blue-65-rgb-raw));
    --bosch-blue-60: rgb(var(--bosch-blue-60-rgb-raw));
    --bosch-blue-55: rgb(var(--bosch-blue-55-rgb-raw));
    --bosch-blue-50: rgb(var(--bosch-blue-50-rgb-raw));
    --bosch-blue-45: rgb(var(--bosch-blue-45-rgb-raw));
    --bosch-blue-40: rgb(var(--bosch-blue-40-rgb-raw));
    --bosch-blue-35: rgb(var(--bosch-blue-35-rgb-raw));
    --bosch-blue-30: rgb(var(--bosch-blue-30-rgb-raw));
    --bosch-blue-25: rgb(var(--bosch-blue-25-rgb-raw));
    --bosch-blue-20: rgb(var(--bosch-blue-20-rgb-raw));
    --bosch-blue-15: rgb(var(--bosch-blue-15-rgb-raw));
    --bosch-blue-10: rgb(var(--bosch-blue-10-rgb-raw));
    --bosch-blue-5: rgb(var(--bosch-blue-5-rgb-raw));
    --bosch-turquoise-95: rgb(var(--bosch-turquoise-95-rgb-raw));
    --bosch-turquoise-90: rgb(var(--bosch-turquoise-90-rgb-raw));
    --bosch-turquoise-85: rgb(var(--bosch-turquoise-85-rgb-raw));
    --bosch-turquoise-80: rgb(var(--bosch-turquoise-80-rgb-raw));
    --bosch-turquoise-75: rgb(var(--bosch-turquoise-75-rgb-raw));
    --bosch-turquoise-70: rgb(var(--bosch-turquoise-70-rgb-raw));
    --bosch-turquoise-65: rgb(var(--bosch-turquoise-65-rgb-raw));
    --bosch-turquoise-60: rgb(var(--bosch-turquoise-60-rgb-raw));
    --bosch-turquoise-55: rgb(var(--bosch-turquoise-55-rgb-raw));
    --bosch-turquoise-50: rgb(var(--bosch-turquoise-50-rgb-raw));
    --bosch-turquoise-45: rgb(var(--bosch-turquoise-45-rgb-raw));
    --bosch-turquoise-40: rgb(var(--bosch-turquoise-40-rgb-raw));
    --bosch-turquoise-35: rgb(var(--bosch-turquoise-35-rgb-raw));
    --bosch-turquoise-30: rgb(var(--bosch-turquoise-30-rgb-raw));
    --bosch-turquoise-25: rgb(var(--bosch-turquoise-25-rgb-raw));
    --bosch-turquoise-20: rgb(var(--bosch-turquoise-20-rgb-raw));
    --bosch-turquoise-15: rgb(var(--bosch-turquoise-15-rgb-raw));
    --bosch-turquoise-10: rgb(var(--bosch-turquoise-10-rgb-raw));
    --bosch-turquoise-5: rgb(var(--bosch-turquoise-5-rgb-raw));
    --bosch-green-95: rgb(var(--bosch-green-95-rgb-raw));
    --bosch-green-90: rgb(var(--bosch-green-90-rgb-raw));
    --bosch-green-85: rgb(var(--bosch-green-85-rgb-raw));
    --bosch-green-80: rgb(var(--bosch-green-80-rgb-raw));
    --bosch-green-75: rgb(var(--bosch-green-75-rgb-raw));
    --bosch-green-70: rgb(var(--bosch-green-70-rgb-raw));
    --bosch-green-65: rgb(var(--bosch-green-65-rgb-raw));
    --bosch-green-60: rgb(var(--bosch-green-60-rgb-raw));
    --bosch-green-55: rgb(var(--bosch-green-55-rgb-raw));
    --bosch-green-50: rgb(var(--bosch-green-50-rgb-raw));
    --bosch-green-45: rgb(var(--bosch-green-45-rgb-raw));
    --bosch-green-40: rgb(var(--bosch-green-40-rgb-raw));
    --bosch-green-35: rgb(var(--bosch-green-35-rgb-raw));
    --bosch-green-30: rgb(var(--bosch-green-30-rgb-raw));
    --bosch-green-25: rgb(var(--bosch-green-25-rgb-raw));
    --bosch-green-20: rgb(var(--bosch-green-20-rgb-raw));
    --bosch-green-15: rgb(var(--bosch-green-15-rgb-raw));
    --bosch-green-10: rgb(var(--bosch-green-10-rgb-raw));
    --bosch-green-5: rgb(var(--bosch-green-5-rgb-raw));
    --bosch-yellow-95: rgb(var(--bosch-yellow-95-rgb-raw));
    --bosch-yellow-90: rgb(var(--bosch-yellow-90-rgb-raw));
    --bosch-yellow-85: rgb(var(--bosch-yellow-85-rgb-raw));
    --bosch-yellow-80: rgb(var(--bosch-yellow-80-rgb-raw));
    --bosch-yellow-75: rgb(var(--bosch-yellow-75-rgb-raw));
    --bosch-yellow-70: rgb(var(--bosch-yellow-70-rgb-raw));
    --bosch-yellow-65: rgb(var(--bosch-yellow-65-rgb-raw));
    --bosch-yellow-60: rgb(var(--bosch-yellow-60-rgb-raw));
    --bosch-yellow-55: rgb(var(--bosch-yellow-55-rgb-raw));
    --bosch-yellow-50: rgb(var(--bosch-yellow-50-rgb-raw));
    --bosch-yellow-45: rgb(var(--bosch-yellow-45-rgb-raw));
    --bosch-yellow-40: rgb(var(--bosch-yellow-40-rgb-raw));
    --bosch-yellow-35: rgb(var(--bosch-yellow-35-rgb-raw));
    --bosch-yellow-30: rgb(var(--bosch-yellow-30-rgb-raw));
    --bosch-yellow-25: rgb(var(--bosch-yellow-25-rgb-raw));
    --bosch-yellow-20: rgb(var(--bosch-yellow-20-rgb-raw));
    --bosch-yellow-25: rgb(var(--bosch-yellow-25-rgb-raw));
    --bosch-yellow-10: rgb(var(--bosch-yellow-10-rgb-raw));
    --bosch-yellow-5: rgb(var(--bosch-yellow-5-rgb-raw));
    --bosch-red-95: rgb(var(--bosch-red-95-rgb-raw));
    --bosch-red-90: rgb(var(--bosch-red-90-rgb-raw));
    --bosch-red-85: rgb(var(--bosch-red-85-rgb-raw));
    --bosch-red-80: rgb(var(--bosch-red-80-rgb-raw));
    --bosch-red-75: rgb(var(--bosch-red-75-rgb-raw));
    --bosch-red-70: rgb(var(--bosch-red-70-rgb-raw));
    --bosch-red-65: rgb(var(--bosch-red-65-rgb-raw));
    --bosch-red-60: rgb(var(--bosch-red-60-rgb-raw));
    --bosch-red-55: rgb(var(--bosch-red-55-rgb-raw));
    --bosch-red-50: rgb(var(--bosch-red-50-rgb-raw));
    --bosch-red-45: rgb(var(--bosch-red-45-rgb-raw));
    --bosch-red-40: rgb(var(--bosch-red-40-rgb-raw));
    --bosch-red-35: rgb(var(--bosch-red-35-rgb-raw));
    --bosch-red-30: rgb(var(--bosch-red-30-rgb-raw));
    --bosch-red-25: rgb(var(--bosch-red-25-rgb-raw));
    --bosch-red-20: rgb(var(--bosch-red-20-rgb-raw));
    --bosch-red-15: rgb(var(--bosch-red-15-rgb-raw));
    --bosch-red-10: rgb(var(--bosch-red-10-rgb-raw));
    --bosch-red-5: rgb(var(--bosch-red-5-rgb-raw));
}

html {
    --pst-font-family-base: boschsans, var(--pst-font-family-base-system);
    --pst-font-family-heading: boschsans, var(--pst-font-family-base-system);
    --pst-font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", var(--pst-font-family-monospace-system);


    /* base font size - applied at body/html level */
    --pst-font-size-base: 1.0rem;
    --pst-sidebar-font-size: 1.0rem;
    --pst-sidebar-header-font-size: unset;
    --pst-sidebar-header-font-weight: bold;

    /* heading font sizes based on bootstrap sizing */
    --pst-font-size-h1: 2.0rem;
    --pst-font-size-h2: 1.75rem;
    --pst-font-size-h3: 1.5rem;
    --pst-font-size-h4: 1.4rem;
    --pst-font-size-h5: 1.3rem;
    --pst-font-size-h6: 1.2rem;

    --pst-font-size-milli: 0.75rem;

    /* --pst-font-weight-caption: 300; */
    --pst-font-weight-heading: 700;
    --pst-admonition-font-weight-heading: 700;

    font-variant-numeric: proportional-nums;  /* the Bosch fonts use tabular-nums by default */

    --bs-border-radius-pill: 0;

    /* --pst-icon-admonition-attention: none;
    --pst-icon-admonition-caution: none;
    --pst-icon-admonition-danger: none;
    --pst-icon-admonition-default: none;
    --pst-icon-admonition-error: none;
    --pst-icon-admonition-hint: none;
    --pst-icon-admonition-important: none;
    --pst-icon-admonition-note: none;
    --pst-icon-admonition-seealso: none;
    --pst-icon-admonition-tip: none;
    --pst-icon-admonition-todo: none;
    --pst-icon-admonition-warning: none; */

    --pst-icon-versionmodified-default: none;
    --pst-icon-versionmodified-added: none;
    --pst-icon-versionmodified-changed: none;
    --pst-icon-versionmodified-deprecated: none;
    /*
    --pst-icon-versionmodified-default: var(--pst-icon-exclamation-circle);
    --pst-icon-versionmodified-added: var(--pst-icon-exclamation-circle);
    --pst-icon-versionmodified-changed: var(--pst-icon-exclamation-circle);
    --pst-icon-versionmodified-deprecated: var(--pst-icon-exclamation-circle);
    */
    /*
    --pst-icon-check-circle: "";
    --pst-icon-info-circle: "";
    --pst-icon-exclamation-triangle: "";
    --pst-icon-exclamation-circle: "";
    --pst-icon-times-circle: "";
    --pst-icon-lightbulb: "";
    --pst-icon-download: "";
    --pst-icon-angle-left: "";
    --pst-icon-angle-right: "";
    --pst-icon-external-link: "";
    --pst-icon-search-minus: "";
    --pst-icon-github: "";
    --pst-icon-gitlab: "";
    --pst-icon-share: "";
    --pst-icon-bell: "";
    --pst-icon-pencil: "";
    */
}

/*
https://pydata-sphinx-theme.readthedocs.io/en/stable/user_guide/styling.html#color-variables
https://github.com/pydata/pydata-sphinx-theme/blob/main/src/pydata_sphinx_theme/assets/styles/variables/_color.scss
*/
html[data-theme="light"] {
    --pst-color-text-base: var(--bosch-black);
    --pst-color-text-muted: var(--bosch-gray-5);

    --pst-color-primary: var(--bosch-blue-50);
    --pst-color-secondary: var(--bosch-blue-50);
    /* --pst-color-secondary-bg: var(--bosch-blue-90); */  /* FIXME: bg color of todo admonition */
    --pst-color-secondary-bg: red;  /* NOTE: leaving this red for debugging in case it ever shows up anywhere */

    --pst-color-info: var(--pst-color-secondary);
    --pst-color-info-bg: var(--pst-color-surface);
    /* --pst-color-accent: ; */
    --pst-color-success: var(--bosch-green-40);
    /* --pst-color-success-bg: rgba(var(--bosch-green-40-rgb-raw), 0.1); */
    --pst-color-success-bg: rgb(229, 240, 235);  /* same as bosch-green-40 with alpha=0.1/opacity=10 on white */
    --pst-color-warning: var(--bosch-yellow-40);
    --pst-color-warning-bg: var(--bosch-yellow-90);
    --pst-color-danger: var(--bosch-red-40);
    --pst-color-danger-bg: var(--bosch-red-90); /* #be0004 1a // == --bosch-red-40 and transparency */
    /* --pst-color-background: ; */
    /* --pst-color-on-background: ; */
    --pst-color-surface: var(--bosch-gray-95);
    --pst-color-border: var(--bosch-gray-55);
    --pst-color-on-surface: var(--bosch-gray-85);
    --pst-color-target: var(--bosch-yellow-95);  /* background for highlighted text */
    --pst-color-link: var(--pst-color-primary);
    --pst-color-link-hover: var(--bosch-blue-40);

    --pst-color-table-row-hover-bg: var(--pst-color-background);
    --pst-color-table-row-zebra-high-bg: var(--pst-color-background);
    --pst-color-table-row-zebra-low-bg: var(--pst-color-background);

    /* own definitions (mostly that do not exist in sbt or pst) */
    --sboscht-color-default-bg: var(--pst-color-background);
    --sboscht-color-default: var(--pst-color-text-base);

    --sboscht-color-link-pressed: var(--bosch-blue-30);
    --sboscht-color-secondary-bg: var(--bosch-gray-95);

    --sboscht-color-attention-link-hover: var(--bosch-red-40);
    --sboscht-color-attention-link-pressed: var(--bosch-red-30);
    --sboscht-color-caution-link-hover: var(--bosch-red-40);
    --sboscht-color-caution-link-pressed: var(--bosch-red-30);
    --sboscht-color-danger-link-hover: var(--bosch-red-40);
    --sboscht-color-danger-link-pressed: var(--bosch-red-30);
    --sboscht-color-deprecated-link-hover: var(--bosch-red-40);
    --sboscht-color-deprecated-link-pressed: var(--bosch-red-30);
    --sboscht-color-error-link-hover: var(--bosch-red-40);
    --sboscht-color-error-link-pressed: var(--bosch-red-30);
    --sboscht-color-hint-link-hover: var(--bosch-green-40);
    --sboscht-color-hint-link-pressed: var(--bosch-green-30);
    --sboscht-color-important-link-hover: var(--bosch-red-40);
    --sboscht-color-important-link-pressed: var(--bosch-red-30);
    --sboscht-color-note-link-hover: var(--bosch-blue-40);
    --sboscht-color-note-link-pressed: var(--bosch-blue-30);
    --sboscht-color-seealso-link-hover: var(--bosch-green-40);
    --sboscht-color-seealso-link-pressed: var(--bosch-green-30);
    --sboscht-color-tip-link-hover: var(--bosch-green-40);
    --sboscht-color-tip-link-pressed: var(--bosch-green-30);
    --sboscht-color-todo-link-hover: var(--bosch-red-40);
    --sboscht-color-todo-link-pressed: var(--bosch-red-30);
    --sboscht-color-versionadded-link-hover: var(--bosch-green-40);
    --sboscht-color-versionadded-link-pressed: var(--bosch-green-30);
    --sboscht-color-versionchanged-link-hover: var(--bosch-red-40);
    --sboscht-color-versionchanged-link-pressed: var(--bosch-red-30);
    --sboscht-color-warning-link-hover: var(--bosch-yellow-40);
    --sboscht-color-warning-link-pressed: var(--bosch-yellow-30);

    /* admonitions, see  https://brandguide.bosch.com/document/2324/en#/-/brand-guide-styleguide/special-information */
    --sboscht-color-attention-bg: var(--pst-color-warning-bg);
    --sboscht-color-attention: var(--pst-color-warning);
    --sboscht-color-caution-bg: var(--pst-color-warning-bg);
    --sboscht-color-caution: var(--pst-color-warning);
    --sboscht-color-danger-bg: var(--pst-color-danger-bg);
    --sboscht-color-danger: var(--pst-color-danger);
    --sboscht-color-admonition-default-bg: var(--pst-color-surface);
    --sboscht-color-admonition-default: var(--pst-color-text-base);
    --sboscht-color-deprecated-bg: var(--pst-color-danger-bg);
    --sboscht-color-deprecated: var(--pst-color-danger);
    --sboscht-color-error-bg: var(--pst-color-danger-bg);
    --sboscht-color-error: var(--pst-color-danger);
    --sboscht-color-hint-bg: var(--pst-color-success-bg);
    --sboscht-color-hint: var(--pst-color-success);
    --sboscht-color-important-bg: var(--pst-color-warning-bg);
    --sboscht-color-important: var(--pst-color-warning);
    --sboscht-color-note-bg: var(--bosch-blue-90);
    --sboscht-color-note: var(--bosch-blue-40);
    --sboscht-color-seealso-bg: var(--pst-color-success-bg);
    --sboscht-color-seealso: var(--pst-color-success);
    --sboscht-color-tip-bg: var(--pst-color-success-bg);
    --sboscht-color-tip: var(--pst-color-success);
    --sboscht-color-todo-bg: var(--pst-color-warning-bg);
    --sboscht-color-todo: var(--pst-color-warning);
    --sboscht-color-versionadded-bg: var(--pst-color-success-bg);
    --sboscht-color-versionadded: var(--pst-color-success);
    --sboscht-color-versionchanged-bg: var(--pst-color-warning-bg);
    --sboscht-color-versionchanged: var(--pst-color-warning);
    --sboscht-color-warning-bg: var(--pst-color-warning-bg);
    --sboscht-color-warning: var(--pst-color-warning);

    /* tables */
    --sboscht-color-table-border: var(--bosch-gray-65);
    --sboscht-color-table-highlight: var(--sboscht-color-secondary-bg);

    /* code */
    --sboscht-color-code-inline: var(--bosch-gray-25);
    --pst-color-inline-code: var(--sboscht-color-code-inline);
    --sboscht-color-code-default-value: var(--bosch-purple-45);
    --sboscht-color-code-punctuation: var(--bosch-blue-45);
    --sboscht-color-code-keyword: var(--bosch-blue-45);
    --sboscht-color-code-name: var(--bosch-turquoise-45);
    --sboscht-color-code-number: var(--bosch-purple-45);
    --sboscht-color-code-operator: var(--bosch-gray-10);
    --sboscht-color-code-property: var(--bosch-blue-45);
    --sboscht-color-code-type: var(--bosch-yellow-45);
}


html[data-theme="dark"] {
    --pst-color-text-base: var(--bosch-white);
    --pst-color-text-muted: var(--bosch-gray-90);

    --pst-color-primary: var(--bosch-blue-50);
    --pst-color-secondary: var(--bosch-blue-50);
    /* --pst-color-secondary-bg: var(--bosch-blue-90); */  /* FIXME: bg color of todo admonition */
    --pst-color-secondary-bg: red;  /* NOTE: leaving this red for debugging in case it ever shows up anywhere */

    --pst-color-info: var(--pst-color-secondary);
    --pst-color-info-bg: var(--pst-color-surface);
    /* --pst-color-accent: ; */
    --pst-color-success: var(--bosch-green-60);
    --pst-color-success-bg: rgba(var(--bosch-green-60-rgb-raw), 0.1);
    --pst-color-warning: var(--bosch-yellow-60);
    --pst-color-warning-bg: var(--bosch-yellow-10);
    --pst-color-danger: var(--bosch-red-60);
    --pst-color-danger-bg: var(--bosch-red-10);
    /* --pst-color-background: ; */
    /* --pst-color-on-background: ; */
    --pst-color-surface: var(--bosch-gray-10);
    --pst-color-border: var(--bosch-gray-45);
    --pst-color-on-surface: var(--bosch-gray-20);
    --pst-color-target: var(--bosch-yellow-5);  /* background for highlighted text */
    --pst-color-link: var(--pst-color-primary);
    --pst-color-link-hover: var(--bosch-blue-60);

    --pst-color-table-row-hover-bg: var(--pst-color-background);
    --pst-color-table-row-zebra-high-bg: var(--pst-color-background);
    --pst-color-table-row-zebra-low-bg: var(--pst-color-background);

    /* own definitions (mostly that do not exist in sbt or pst) */
    --sboscht-color-default-bg: var(--pst-color-background);
    --sboscht-color-default: var(--pst-color-text-base);

    --sboscht-color-link-pressed: var(--bosch-blue-70);
    --sboscht-color-secondary-bg: var(--bosch-gray-10);

    --sboscht-color-attention-link-hover: var(--bosch-red-60);
    --sboscht-color-attention-link-pressed: var(--bosch-red-70);
    --sboscht-color-caution-link-hover: var(--bosch-red-60);
    --sboscht-color-caution-link-pressed: var(--bosch-red-70);
    --sboscht-color-danger-link-hover: var(--bosch-red-60);
    --sboscht-color-danger-link-pressed: var(--bosch-red-70);
    --sboscht-color-deprecated-link-hover: var(--bosch-red-60);
    --sboscht-color-deprecated-link-pressed: var(--bosch-red-70);
    --sboscht-color-error-link-hover: var(--bosch-red-60);
    --sboscht-color-error-link-pressed: var(--bosch-red-70);
    --sboscht-color-hint-link-hover: var(--bosch-green-60);
    --sboscht-color-hint-link-pressed: var(--bosch-green-70);
    --sboscht-color-important-link-hover: var(--bosch-red-60);
    --sboscht-color-important-link-pressed: var(--bosch-red-70);
    --sboscht-color-note-link-hover: var(--bosch-blue-60);
    --sboscht-color-note-link-pressed: var(--bosch-blue-70);
    --sboscht-color-seealso-link-hover: var(--bosch-green-60);
    --sboscht-color-seealso-link-pressed: var(--bosch-green-70);
    --sboscht-color-tip-link-hover: var(--bosch-green-60);
    --sboscht-color-tip-link-pressed: var(--bosch-green-70);
    --sboscht-color-todo-link-hover: var(--bosch-red-60);
    --sboscht-color-todo-link-pressed: var(--bosch-red-70);
    --sboscht-color-versionadded-link-hover: var(--bosch-green-60);
    --sboscht-color-versionadded-link-pressed: var(--bosch-green-70);
    --sboscht-color-versionchanged-link-hover: var(--bosch-red-60);
    --sboscht-color-versionchanged-link-pressed: var(--bosch-red-70);
    --sboscht-color-warning-link-hover: var(--bosch-yellow-60);
    --sboscht-color-warning-link-pressed: var(--bosch-yellow-70);

    /* admonitions, see  https://brandguide.bosch.com/document/2324/en#/-/brand-guide-styleguide/special-information */
    --sboscht-color-attention-bg: var(--pst-color-warning-bg);
    --sboscht-color-attention: var(--pst-color-warning);
    --sboscht-color-caution-bg: var(--pst-color-warning-bg);
    --sboscht-color-caution: var(--pst-color-warning);
    --sboscht-color-danger-bg: var(--pst-color-danger-bg);
    --sboscht-color-danger: var(--pst-color-danger);
    --sboscht-color-admonition-default-bg: var(--pst-color-surface);
    --sboscht-color-admonition-default: var(--pst-color-text-base);
    --sboscht-color-deprecated-bg: var(--pst-color-danger-bg);
    --sboscht-color-deprecated: var(--pst-color-danger);
    --sboscht-color-error-bg: var(--pst-color-danger-bg);
    --sboscht-color-error: var(--pst-color-danger);
    --sboscht-color-hint-bg: var(--pst-color-success-bg);
    --sboscht-color-hint: var(--pst-color-success);
    --sboscht-color-important-bg: var(--pst-color-warning-bg);
    --sboscht-color-important: var(--pst-color-warning);
    --sboscht-color-note-bg: var(--bosch-blue-5);
    --sboscht-color-note: var(--bosch-blue-65);
    --sboscht-color-seealso-bg: var(--pst-color-success-bg);
    --sboscht-color-seealso: var(--pst-color-success);
    --sboscht-color-tip-bg: var(--pst-color-success-bg);
    --sboscht-color-tip: var(--pst-color-success);
    --sboscht-color-todo-bg: var(--pst-color-warning-bg);
    --sboscht-color-todo: var(--pst-color-warning);
    --sboscht-color-versionadded-bg: var(--pst-color-success-bg);
    --sboscht-color-versionadded: var(--pst-color-success);
    --sboscht-color-versionchanged-bg: var(--pst-color-warning-bg);
    --sboscht-color-versionchanged: var(--pst-color-warning);
    --sboscht-color-warning-bg: var(--pst-color-warning-bg);
    --sboscht-color-warning: var(--pst-color-warning);

    /* tables */
    --sboscht-color-table-border: var(--bosch-gray-35);
    --sboscht-color-table-highlight: var(--sboscht-color-secondary-bg);

    /* code */
    --sboscht-color-code-inline: var(--bosch-gray-90);
    --pst-color-inline-code: var(--sboscht-color-code-inline);
    --sboscht-color-code-default-value: var(--bosch-purple-70);
    --sboscht-color-code-punctuation: var(--bosch-blue-70);
    --sboscht-color-code-keyword: var(--bosch-blue-70);
    --sboscht-color-code-name: var(--bosch-turquoise-70);
    --sboscht-color-code-number: var(--bosch-purple-70);
    --sboscht-color-code-operator: var(--bosch-gray-10);
    --sboscht-color-code-property: var(--bosch-blue-70);
    --sboscht-color-code-type: var(--bosch-yellow-70);
}