/* 1xStudio brand: header logo tile, logo motion, brand spinner.
   Load after styles.css and theme.css. Source of truth: docs/brand-design-language.md */

/* Fixed brand colours = the site's light palette (styles.css :root). They do NOT
   switch in dark mode: the logo always uses the same brand colours. */
:root {
  --ox-ink: #151111;
  --ox-cream: #fffdf8;
  --ox-pink: #f0449b;
  --ox-yellow: #f4c84f;
  --ox-green: #179b92;
  --ox-blue: #238aff;

  /* Busy-button spinners (pseudo-element). Same colours the old ring used:
     --ink and --white, light values here, dark values below. */
  --ox-busy-ink: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-16 -16 152 152%22%3E%3Cstyle%3E%40keyframes s%7Bto%7Btransform:rotate(360deg)%7D%7D.s%7Btransform-origin:60px 60px;animation:s 1.2s linear infinite%7D%3C/style%3E%3Cdefs%3E%3Cmask id=%22m%22 maskUnits=%22userSpaceOnUse%22 x=%22-40%22 y=%22-40%22 width=%22200%22 height=%22200%22%3E%3Crect x=%22-40%22 y=%22-40%22 width=%22200%22 height=%22200%22 fill=%22%23fff%22/%3E%3Cpath d=%22M44.00 86.00 L44.05 87.24 L44.27 88.93 L44.50 89.95 L44.92 91.33 L45.57 92.90 L46.24 94.17 L46.81 95.05 L47.84 96.40 L48.83 97.45 L49.60 98.16 L50.95 99.19 L52.17 99.95 L53.70 100.70 L55.04 101.21 L56.05 101.50 L57.72 101.83 L59.15 101.98 L60.85 101.98 L62.28 101.83 L63.31 101.65 L64.96 101.21 L66.30 100.70 L67.25 100.26 L68.72 99.41 L69.89 98.57 L70.70 97.90 L71.90 96.70 L72.57 95.89 L73.41 94.72 L74.26 93.25 L74.70 92.30 L75.21 90.96 L75.50 89.95 L75.83 88.28 L76.00 86.00 L76.00 34.00 L75.83 31.72 L75.40 29.67 L74.70 27.70 L74.26 26.75 L73.41 25.28 L72.16 23.60 L70.70 22.10 L69.89 21.43 L68.72 20.59 L66.90 19.57 L64.96 18.79 L63.31 18.35 L61.89 18.11 L60.20 18.00 L58.76 18.05 L57.07 18.27 L55.67 18.60 L54.06 19.15 L52.75 19.74 L51.28 20.59 L50.11 21.43 L48.83 22.55 L47.84 23.60 L46.81 24.95 L46.05 26.17 L45.30 27.70 L44.79 29.04 L44.35 30.69 L44.17 31.72 L44.00 34.00 L44.00 86.00Z%22 fill=%22%23000%22/%3E%3C/mask%3E%3C/defs%3E%3Cg mask=%22url(%23m)%22%3E%3Cg class=%22s%22%3E%3Cpath fill=%22%23151111%22 d=%22M15.25 8.37 L14.26 8.09 L13.24 8.00 L12.73 8.03 L11.73 8.24 L11.24 8.41 L10.34 8.90 L9.93 9.21 L9.21 9.93 L8.63 10.78 L8.41 11.24 L8.11 12.22 L8.03 12.73 L8.02 13.76 L8.09 14.26 L8.37 15.25 L12.41 25.67 L15.57 34.47 L17.27 39.78 L18.60 44.62 L19.63 49.29 L20.30 53.68 L20.51 55.82 L20.63 57.94 L20.67 60.05 L20.63 62.16 L20.30 66.32 L19.99 68.58 L19.15 73.06 L17.97 77.78 L16.47 82.80 L14.60 88.33 L12.42 94.29 L8.37 104.75 L8.09 105.74 L8.00 106.76 L8.11 107.78 L8.24 108.27 L8.63 109.22 L9.21 110.07 L9.55 110.45 L10.34 111.10 L11.24 111.59 L11.73 111.76 L12.22 111.89 L13.24 112.00 L14.26 111.91 L15.25 111.63 L25.67 107.59 L31.67 105.40 L37.20 103.53 L42.22 102.03 L47.02 100.84 L51.51 100.00 L53.68 99.70 L55.82 99.49 L59.95 99.33 L62.06 99.37 L64.18 99.49 L66.32 99.70 L68.49 100.00 L72.98 100.84 L77.72 102.02 L82.80 103.53 L88.33 105.40 L94.29 107.58 L104.75 111.63 L105.74 111.91 L106.76 112.00 L107.27 111.97 L108.27 111.76 L109.22 111.37 L109.66 111.10 L110.45 110.45 L111.10 109.66 L111.37 109.22 L111.76 108.27 L111.89 107.78 L112.00 106.76 L111.91 105.74 L111.63 104.75 L107.59 94.33 L105.40 88.33 L103.53 82.80 L102.03 77.78 L100.84 72.98 L100.00 68.49 L99.70 66.32 L99.49 64.18 L99.33 60.05 L99.37 57.94 L99.49 55.82 L99.70 53.68 L100.00 51.51 L100.84 47.02 L102.02 42.28 L103.53 37.20 L105.40 31.67 L107.58 25.71 L111.63 15.25 L111.91 14.26 L112.00 13.24 L111.97 12.73 L111.76 11.73 L111.37 10.78 L110.79 9.93 L110.45 9.55 L110.07 9.21 L109.22 8.63 L108.27 8.24 L107.78 8.11 L106.76 8.00 L105.74 8.09 L104.75 8.37 L94.33 12.41 L88.33 14.60 L82.80 16.47 L77.72 17.98 L72.98 19.16 L68.49 20.00 L66.32 20.30 L64.18 20.51 L62.06 20.63 L59.95 20.67 L55.82 20.51 L53.68 20.30 L51.51 20.00 L47.02 19.16 L42.28 17.98 L37.20 16.47 L31.67 14.60 L25.71 12.42 L15.25 8.37Z%22/%3E%3C/g%3E%3C/g%3E%3Cpath fill=%22%23151111%22 d=%22M50.00 34.00 L50.02 86.65 L50.19 87.95 L50.34 88.59 L50.76 89.83 L51.34 91.00 L51.69 91.56 L52.48 92.59 L52.93 93.07 L53.41 93.52 L54.44 94.31 L55.58 94.97 L56.17 95.24 L57.41 95.66 L58.05 95.81 L59.35 95.98 L60.65 95.98 L61.95 95.81 L62.59 95.66 L63.83 95.24 L64.42 94.97 L65.56 94.31 L66.09 93.93 L67.07 93.07 L67.52 92.59 L68.31 91.56 L68.97 90.42 L69.24 89.83 L69.66 88.59 L69.81 87.95 L69.98 86.65 L70.00 86.00 L70.00 34.00 L69.91 32.69 L69.66 31.41 L69.24 30.17 L68.97 29.58 L68.31 28.44 L67.93 27.91 L67.07 26.93 L66.59 26.48 L65.56 25.69 L64.42 25.03 L63.21 24.53 L61.95 24.19 L60.65 24.02 L60.00 24.00 L58.69 24.09 L58.05 24.19 L56.79 24.53 L56.17 24.76 L55.00 25.34 L54.44 25.69 L53.41 26.48 L52.93 26.93 L52.07 27.91 L51.69 28.44 L51.03 29.58 L50.76 30.17 L50.34 31.41 L50.19 32.05 L50.02 33.35 L50.00 34.00Z%22/%3E%3C/svg%3E");
  --ox-busy-white: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-16 -16 152 152%22%3E%3Cstyle%3E%40keyframes s%7Bto%7Btransform:rotate(360deg)%7D%7D.s%7Btransform-origin:60px 60px;animation:s 1.2s linear infinite%7D%3C/style%3E%3Cdefs%3E%3Cmask id=%22m%22 maskUnits=%22userSpaceOnUse%22 x=%22-40%22 y=%22-40%22 width=%22200%22 height=%22200%22%3E%3Crect x=%22-40%22 y=%22-40%22 width=%22200%22 height=%22200%22 fill=%22%23fff%22/%3E%3Cpath d=%22M44.00 86.00 L44.05 87.24 L44.27 88.93 L44.50 89.95 L44.92 91.33 L45.57 92.90 L46.24 94.17 L46.81 95.05 L47.84 96.40 L48.83 97.45 L49.60 98.16 L50.95 99.19 L52.17 99.95 L53.70 100.70 L55.04 101.21 L56.05 101.50 L57.72 101.83 L59.15 101.98 L60.85 101.98 L62.28 101.83 L63.31 101.65 L64.96 101.21 L66.30 100.70 L67.25 100.26 L68.72 99.41 L69.89 98.57 L70.70 97.90 L71.90 96.70 L72.57 95.89 L73.41 94.72 L74.26 93.25 L74.70 92.30 L75.21 90.96 L75.50 89.95 L75.83 88.28 L76.00 86.00 L76.00 34.00 L75.83 31.72 L75.40 29.67 L74.70 27.70 L74.26 26.75 L73.41 25.28 L72.16 23.60 L70.70 22.10 L69.89 21.43 L68.72 20.59 L66.90 19.57 L64.96 18.79 L63.31 18.35 L61.89 18.11 L60.20 18.00 L58.76 18.05 L57.07 18.27 L55.67 18.60 L54.06 19.15 L52.75 19.74 L51.28 20.59 L50.11 21.43 L48.83 22.55 L47.84 23.60 L46.81 24.95 L46.05 26.17 L45.30 27.70 L44.79 29.04 L44.35 30.69 L44.17 31.72 L44.00 34.00 L44.00 86.00Z%22 fill=%22%23000%22/%3E%3C/mask%3E%3C/defs%3E%3Cg mask=%22url(%23m)%22%3E%3Cg class=%22s%22%3E%3Cpath fill=%22%23fffdf8%22 d=%22M15.25 8.37 L14.26 8.09 L13.24 8.00 L12.73 8.03 L11.73 8.24 L11.24 8.41 L10.34 8.90 L9.93 9.21 L9.21 9.93 L8.63 10.78 L8.41 11.24 L8.11 12.22 L8.03 12.73 L8.02 13.76 L8.09 14.26 L8.37 15.25 L12.41 25.67 L15.57 34.47 L17.27 39.78 L18.60 44.62 L19.63 49.29 L20.30 53.68 L20.51 55.82 L20.63 57.94 L20.67 60.05 L20.63 62.16 L20.30 66.32 L19.99 68.58 L19.15 73.06 L17.97 77.78 L16.47 82.80 L14.60 88.33 L12.42 94.29 L8.37 104.75 L8.09 105.74 L8.00 106.76 L8.11 107.78 L8.24 108.27 L8.63 109.22 L9.21 110.07 L9.55 110.45 L10.34 111.10 L11.24 111.59 L11.73 111.76 L12.22 111.89 L13.24 112.00 L14.26 111.91 L15.25 111.63 L25.67 107.59 L31.67 105.40 L37.20 103.53 L42.22 102.03 L47.02 100.84 L51.51 100.00 L53.68 99.70 L55.82 99.49 L59.95 99.33 L62.06 99.37 L64.18 99.49 L66.32 99.70 L68.49 100.00 L72.98 100.84 L77.72 102.02 L82.80 103.53 L88.33 105.40 L94.29 107.58 L104.75 111.63 L105.74 111.91 L106.76 112.00 L107.27 111.97 L108.27 111.76 L109.22 111.37 L109.66 111.10 L110.45 110.45 L111.10 109.66 L111.37 109.22 L111.76 108.27 L111.89 107.78 L112.00 106.76 L111.91 105.74 L111.63 104.75 L107.59 94.33 L105.40 88.33 L103.53 82.80 L102.03 77.78 L100.84 72.98 L100.00 68.49 L99.70 66.32 L99.49 64.18 L99.33 60.05 L99.37 57.94 L99.49 55.82 L99.70 53.68 L100.00 51.51 L100.84 47.02 L102.02 42.28 L103.53 37.20 L105.40 31.67 L107.58 25.71 L111.63 15.25 L111.91 14.26 L112.00 13.24 L111.97 12.73 L111.76 11.73 L111.37 10.78 L110.79 9.93 L110.45 9.55 L110.07 9.21 L109.22 8.63 L108.27 8.24 L107.78 8.11 L106.76 8.00 L105.74 8.09 L104.75 8.37 L94.33 12.41 L88.33 14.60 L82.80 16.47 L77.72 17.98 L72.98 19.16 L68.49 20.00 L66.32 20.30 L64.18 20.51 L62.06 20.63 L59.95 20.67 L55.82 20.51 L53.68 20.30 L51.51 20.00 L47.02 19.16 L42.28 17.98 L37.20 16.47 L31.67 14.60 L25.71 12.42 L15.25 8.37Z%22/%3E%3C/g%3E%3C/g%3E%3Cpath fill=%22%23fffdf8%22 d=%22M50.00 34.00 L50.02 86.65 L50.19 87.95 L50.34 88.59 L50.76 89.83 L51.34 91.00 L51.69 91.56 L52.48 92.59 L52.93 93.07 L53.41 93.52 L54.44 94.31 L55.58 94.97 L56.17 95.24 L57.41 95.66 L58.05 95.81 L59.35 95.98 L60.65 95.98 L61.95 95.81 L62.59 95.66 L63.83 95.24 L64.42 94.97 L65.56 94.31 L66.09 93.93 L67.07 93.07 L67.52 92.59 L68.31 91.56 L68.97 90.42 L69.24 89.83 L69.66 88.59 L69.81 87.95 L69.98 86.65 L70.00 86.00 L70.00 34.00 L69.91 32.69 L69.66 31.41 L69.24 30.17 L68.97 29.58 L68.31 28.44 L67.93 27.91 L67.07 26.93 L66.59 26.48 L65.56 25.69 L64.42 25.03 L63.21 24.53 L61.95 24.19 L60.65 24.02 L60.00 24.00 L58.69 24.09 L58.05 24.19 L56.79 24.53 L56.17 24.76 L55.00 25.34 L54.44 25.69 L53.41 26.48 L52.93 26.93 L52.07 27.91 L51.69 28.44 L51.03 29.58 L50.76 30.17 L50.34 31.41 L50.19 32.05 L50.02 33.35 L50.00 34.00Z%22/%3E%3C/svg%3E");
  --ox-busy-check: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-16 -16 152 152%22%3E%3Cstyle%3E%40keyframes s%7Bto%7Btransform:rotate(360deg)%7D%7D.s%7Btransform-origin:60px 60px;animation:s 1.2s linear infinite%7D%3C/style%3E%3Cdefs%3E%3Cmask id=%22m%22 maskUnits=%22userSpaceOnUse%22 x=%22-40%22 y=%22-40%22 width=%22200%22 height=%22200%22%3E%3Crect x=%22-40%22 y=%22-40%22 width=%22200%22 height=%22200%22 fill=%22%23fff%22/%3E%3Cpath d=%22M44.00 86.00 L44.05 87.24 L44.27 88.93 L44.50 89.95 L44.92 91.33 L45.57 92.90 L46.24 94.17 L46.81 95.05 L47.84 96.40 L48.83 97.45 L49.60 98.16 L50.95 99.19 L52.17 99.95 L53.70 100.70 L55.04 101.21 L56.05 101.50 L57.72 101.83 L59.15 101.98 L60.85 101.98 L62.28 101.83 L63.31 101.65 L64.96 101.21 L66.30 100.70 L67.25 100.26 L68.72 99.41 L69.89 98.57 L70.70 97.90 L71.90 96.70 L72.57 95.89 L73.41 94.72 L74.26 93.25 L74.70 92.30 L75.21 90.96 L75.50 89.95 L75.83 88.28 L76.00 86.00 L76.00 34.00 L75.83 31.72 L75.40 29.67 L74.70 27.70 L74.26 26.75 L73.41 25.28 L72.16 23.60 L70.70 22.10 L69.89 21.43 L68.72 20.59 L66.90 19.57 L64.96 18.79 L63.31 18.35 L61.89 18.11 L60.20 18.00 L58.76 18.05 L57.07 18.27 L55.67 18.60 L54.06 19.15 L52.75 19.74 L51.28 20.59 L50.11 21.43 L48.83 22.55 L47.84 23.60 L46.81 24.95 L46.05 26.17 L45.30 27.70 L44.79 29.04 L44.35 30.69 L44.17 31.72 L44.00 34.00 L44.00 86.00Z%22 fill=%22%23000%22/%3E%3C/mask%3E%3C/defs%3E%3Cg mask=%22url(%23m)%22%3E%3Cg class=%22s%22%3E%3Cpath fill=%22%23f0449b%22 d=%22M15.25 8.37 L14.26 8.09 L13.24 8.00 L12.73 8.03 L11.73 8.24 L11.24 8.41 L10.34 8.90 L9.93 9.21 L9.21 9.93 L8.63 10.78 L8.41 11.24 L8.11 12.22 L8.03 12.73 L8.02 13.76 L8.09 14.26 L8.37 15.25 L12.41 25.67 L15.57 34.47 L17.27 39.78 L18.60 44.62 L19.63 49.29 L20.30 53.68 L20.51 55.82 L20.63 57.94 L20.67 60.05 L20.63 62.16 L20.30 66.32 L19.99 68.58 L19.15 73.06 L17.97 77.78 L16.47 82.80 L14.60 88.33 L12.42 94.29 L8.37 104.75 L8.09 105.74 L8.00 106.76 L8.11 107.78 L8.24 108.27 L8.63 109.22 L9.21 110.07 L9.55 110.45 L10.34 111.10 L11.24 111.59 L11.73 111.76 L12.22 111.89 L13.24 112.00 L14.26 111.91 L15.25 111.63 L25.67 107.59 L31.67 105.40 L37.20 103.53 L42.22 102.03 L47.02 100.84 L51.51 100.00 L53.68 99.70 L55.82 99.49 L59.95 99.33 L62.06 99.37 L64.18 99.49 L66.32 99.70 L68.49 100.00 L72.98 100.84 L77.72 102.02 L82.80 103.53 L88.33 105.40 L94.29 107.58 L104.75 111.63 L105.74 111.91 L106.76 112.00 L107.27 111.97 L108.27 111.76 L109.22 111.37 L109.66 111.10 L110.45 110.45 L111.10 109.66 L111.37 109.22 L111.76 108.27 L111.89 107.78 L112.00 106.76 L111.91 105.74 L111.63 104.75 L107.59 94.33 L105.40 88.33 L103.53 82.80 L102.03 77.78 L100.84 72.98 L100.00 68.49 L99.70 66.32 L99.49 64.18 L99.33 60.05 L99.37 57.94 L99.49 55.82 L99.70 53.68 L100.00 51.51 L100.84 47.02 L102.02 42.28 L103.53 37.20 L105.40 31.67 L107.58 25.71 L111.63 15.25 L111.91 14.26 L112.00 13.24 L111.97 12.73 L111.76 11.73 L111.37 10.78 L110.79 9.93 L110.45 9.55 L110.07 9.21 L109.22 8.63 L108.27 8.24 L107.78 8.11 L106.76 8.00 L105.74 8.09 L104.75 8.37 L94.33 12.41 L88.33 14.60 L82.80 16.47 L77.72 17.98 L72.98 19.16 L68.49 20.00 L66.32 20.30 L64.18 20.51 L62.06 20.63 L59.95 20.67 L55.82 20.51 L53.68 20.30 L51.51 20.00 L47.02 19.16 L42.28 17.98 L37.20 16.47 L31.67 14.60 L25.71 12.42 L15.25 8.37Z%22/%3E%3C/g%3E%3C/g%3E%3Cpath fill=%22%23151111%22 d=%22M50.00 34.00 L50.02 86.65 L50.19 87.95 L50.34 88.59 L50.76 89.83 L51.34 91.00 L51.69 91.56 L52.48 92.59 L52.93 93.07 L53.41 93.52 L54.44 94.31 L55.58 94.97 L56.17 95.24 L57.41 95.66 L58.05 95.81 L59.35 95.98 L60.65 95.98 L61.95 95.81 L62.59 95.66 L63.83 95.24 L64.42 94.97 L65.56 94.31 L66.09 93.93 L67.07 93.07 L67.52 92.59 L68.31 91.56 L68.97 90.42 L69.24 89.83 L69.66 88.59 L69.81 87.95 L69.98 86.65 L70.00 86.00 L70.00 34.00 L69.91 32.69 L69.66 31.41 L69.24 30.17 L68.97 29.58 L68.31 28.44 L67.93 27.91 L67.07 26.93 L66.59 26.48 L65.56 25.69 L64.42 25.03 L63.21 24.53 L61.95 24.19 L60.65 24.02 L60.00 24.00 L58.69 24.09 L58.05 24.19 L56.79 24.53 L56.17 24.76 L55.00 25.34 L54.44 25.69 L53.41 26.48 L52.93 26.93 L52.07 27.91 L51.69 28.44 L51.03 29.58 L50.76 30.17 L50.34 31.41 L50.19 32.05 L50.02 33.35 L50.00 34.00Z%22/%3E%3C/svg%3E");
}
:root[data-site-theme="dark"] {
  --ox-busy-ink: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-16 -16 152 152%22%3E%3Cstyle%3E%40keyframes s%7Bto%7Btransform:rotate(360deg)%7D%7D.s%7Btransform-origin:60px 60px;animation:s 1.2s linear infinite%7D%3C/style%3E%3Cdefs%3E%3Cmask id=%22m%22 maskUnits=%22userSpaceOnUse%22 x=%22-40%22 y=%22-40%22 width=%22200%22 height=%22200%22%3E%3Crect x=%22-40%22 y=%22-40%22 width=%22200%22 height=%22200%22 fill=%22%23fff%22/%3E%3Cpath d=%22M44.00 86.00 L44.05 87.24 L44.27 88.93 L44.50 89.95 L44.92 91.33 L45.57 92.90 L46.24 94.17 L46.81 95.05 L47.84 96.40 L48.83 97.45 L49.60 98.16 L50.95 99.19 L52.17 99.95 L53.70 100.70 L55.04 101.21 L56.05 101.50 L57.72 101.83 L59.15 101.98 L60.85 101.98 L62.28 101.83 L63.31 101.65 L64.96 101.21 L66.30 100.70 L67.25 100.26 L68.72 99.41 L69.89 98.57 L70.70 97.90 L71.90 96.70 L72.57 95.89 L73.41 94.72 L74.26 93.25 L74.70 92.30 L75.21 90.96 L75.50 89.95 L75.83 88.28 L76.00 86.00 L76.00 34.00 L75.83 31.72 L75.40 29.67 L74.70 27.70 L74.26 26.75 L73.41 25.28 L72.16 23.60 L70.70 22.10 L69.89 21.43 L68.72 20.59 L66.90 19.57 L64.96 18.79 L63.31 18.35 L61.89 18.11 L60.20 18.00 L58.76 18.05 L57.07 18.27 L55.67 18.60 L54.06 19.15 L52.75 19.74 L51.28 20.59 L50.11 21.43 L48.83 22.55 L47.84 23.60 L46.81 24.95 L46.05 26.17 L45.30 27.70 L44.79 29.04 L44.35 30.69 L44.17 31.72 L44.00 34.00 L44.00 86.00Z%22 fill=%22%23000%22/%3E%3C/mask%3E%3C/defs%3E%3Cg mask=%22url(%23m)%22%3E%3Cg class=%22s%22%3E%3Cpath fill=%22%23f4f7ff%22 d=%22M15.25 8.37 L14.26 8.09 L13.24 8.00 L12.73 8.03 L11.73 8.24 L11.24 8.41 L10.34 8.90 L9.93 9.21 L9.21 9.93 L8.63 10.78 L8.41 11.24 L8.11 12.22 L8.03 12.73 L8.02 13.76 L8.09 14.26 L8.37 15.25 L12.41 25.67 L15.57 34.47 L17.27 39.78 L18.60 44.62 L19.63 49.29 L20.30 53.68 L20.51 55.82 L20.63 57.94 L20.67 60.05 L20.63 62.16 L20.30 66.32 L19.99 68.58 L19.15 73.06 L17.97 77.78 L16.47 82.80 L14.60 88.33 L12.42 94.29 L8.37 104.75 L8.09 105.74 L8.00 106.76 L8.11 107.78 L8.24 108.27 L8.63 109.22 L9.21 110.07 L9.55 110.45 L10.34 111.10 L11.24 111.59 L11.73 111.76 L12.22 111.89 L13.24 112.00 L14.26 111.91 L15.25 111.63 L25.67 107.59 L31.67 105.40 L37.20 103.53 L42.22 102.03 L47.02 100.84 L51.51 100.00 L53.68 99.70 L55.82 99.49 L59.95 99.33 L62.06 99.37 L64.18 99.49 L66.32 99.70 L68.49 100.00 L72.98 100.84 L77.72 102.02 L82.80 103.53 L88.33 105.40 L94.29 107.58 L104.75 111.63 L105.74 111.91 L106.76 112.00 L107.27 111.97 L108.27 111.76 L109.22 111.37 L109.66 111.10 L110.45 110.45 L111.10 109.66 L111.37 109.22 L111.76 108.27 L111.89 107.78 L112.00 106.76 L111.91 105.74 L111.63 104.75 L107.59 94.33 L105.40 88.33 L103.53 82.80 L102.03 77.78 L100.84 72.98 L100.00 68.49 L99.70 66.32 L99.49 64.18 L99.33 60.05 L99.37 57.94 L99.49 55.82 L99.70 53.68 L100.00 51.51 L100.84 47.02 L102.02 42.28 L103.53 37.20 L105.40 31.67 L107.58 25.71 L111.63 15.25 L111.91 14.26 L112.00 13.24 L111.97 12.73 L111.76 11.73 L111.37 10.78 L110.79 9.93 L110.45 9.55 L110.07 9.21 L109.22 8.63 L108.27 8.24 L107.78 8.11 L106.76 8.00 L105.74 8.09 L104.75 8.37 L94.33 12.41 L88.33 14.60 L82.80 16.47 L77.72 17.98 L72.98 19.16 L68.49 20.00 L66.32 20.30 L64.18 20.51 L62.06 20.63 L59.95 20.67 L55.82 20.51 L53.68 20.30 L51.51 20.00 L47.02 19.16 L42.28 17.98 L37.20 16.47 L31.67 14.60 L25.71 12.42 L15.25 8.37Z%22/%3E%3C/g%3E%3C/g%3E%3Cpath fill=%22%23f4f7ff%22 d=%22M50.00 34.00 L50.02 86.65 L50.19 87.95 L50.34 88.59 L50.76 89.83 L51.34 91.00 L51.69 91.56 L52.48 92.59 L52.93 93.07 L53.41 93.52 L54.44 94.31 L55.58 94.97 L56.17 95.24 L57.41 95.66 L58.05 95.81 L59.35 95.98 L60.65 95.98 L61.95 95.81 L62.59 95.66 L63.83 95.24 L64.42 94.97 L65.56 94.31 L66.09 93.93 L67.07 93.07 L67.52 92.59 L68.31 91.56 L68.97 90.42 L69.24 89.83 L69.66 88.59 L69.81 87.95 L69.98 86.65 L70.00 86.00 L70.00 34.00 L69.91 32.69 L69.66 31.41 L69.24 30.17 L68.97 29.58 L68.31 28.44 L67.93 27.91 L67.07 26.93 L66.59 26.48 L65.56 25.69 L64.42 25.03 L63.21 24.53 L61.95 24.19 L60.65 24.02 L60.00 24.00 L58.69 24.09 L58.05 24.19 L56.79 24.53 L56.17 24.76 L55.00 25.34 L54.44 25.69 L53.41 26.48 L52.93 26.93 L52.07 27.91 L51.69 28.44 L51.03 29.58 L50.76 30.17 L50.34 31.41 L50.19 32.05 L50.02 33.35 L50.00 34.00Z%22/%3E%3C/svg%3E");
  --ox-busy-white: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-16 -16 152 152%22%3E%3Cstyle%3E%40keyframes s%7Bto%7Btransform:rotate(360deg)%7D%7D.s%7Btransform-origin:60px 60px;animation:s 1.2s linear infinite%7D%3C/style%3E%3Cdefs%3E%3Cmask id=%22m%22 maskUnits=%22userSpaceOnUse%22 x=%22-40%22 y=%22-40%22 width=%22200%22 height=%22200%22%3E%3Crect x=%22-40%22 y=%22-40%22 width=%22200%22 height=%22200%22 fill=%22%23fff%22/%3E%3Cpath d=%22M44.00 86.00 L44.05 87.24 L44.27 88.93 L44.50 89.95 L44.92 91.33 L45.57 92.90 L46.24 94.17 L46.81 95.05 L47.84 96.40 L48.83 97.45 L49.60 98.16 L50.95 99.19 L52.17 99.95 L53.70 100.70 L55.04 101.21 L56.05 101.50 L57.72 101.83 L59.15 101.98 L60.85 101.98 L62.28 101.83 L63.31 101.65 L64.96 101.21 L66.30 100.70 L67.25 100.26 L68.72 99.41 L69.89 98.57 L70.70 97.90 L71.90 96.70 L72.57 95.89 L73.41 94.72 L74.26 93.25 L74.70 92.30 L75.21 90.96 L75.50 89.95 L75.83 88.28 L76.00 86.00 L76.00 34.00 L75.83 31.72 L75.40 29.67 L74.70 27.70 L74.26 26.75 L73.41 25.28 L72.16 23.60 L70.70 22.10 L69.89 21.43 L68.72 20.59 L66.90 19.57 L64.96 18.79 L63.31 18.35 L61.89 18.11 L60.20 18.00 L58.76 18.05 L57.07 18.27 L55.67 18.60 L54.06 19.15 L52.75 19.74 L51.28 20.59 L50.11 21.43 L48.83 22.55 L47.84 23.60 L46.81 24.95 L46.05 26.17 L45.30 27.70 L44.79 29.04 L44.35 30.69 L44.17 31.72 L44.00 34.00 L44.00 86.00Z%22 fill=%22%23000%22/%3E%3C/mask%3E%3C/defs%3E%3Cg mask=%22url(%23m)%22%3E%3Cg class=%22s%22%3E%3Cpath fill=%22%23f4f7ff%22 d=%22M15.25 8.37 L14.26 8.09 L13.24 8.00 L12.73 8.03 L11.73 8.24 L11.24 8.41 L10.34 8.90 L9.93 9.21 L9.21 9.93 L8.63 10.78 L8.41 11.24 L8.11 12.22 L8.03 12.73 L8.02 13.76 L8.09 14.26 L8.37 15.25 L12.41 25.67 L15.57 34.47 L17.27 39.78 L18.60 44.62 L19.63 49.29 L20.30 53.68 L20.51 55.82 L20.63 57.94 L20.67 60.05 L20.63 62.16 L20.30 66.32 L19.99 68.58 L19.15 73.06 L17.97 77.78 L16.47 82.80 L14.60 88.33 L12.42 94.29 L8.37 104.75 L8.09 105.74 L8.00 106.76 L8.11 107.78 L8.24 108.27 L8.63 109.22 L9.21 110.07 L9.55 110.45 L10.34 111.10 L11.24 111.59 L11.73 111.76 L12.22 111.89 L13.24 112.00 L14.26 111.91 L15.25 111.63 L25.67 107.59 L31.67 105.40 L37.20 103.53 L42.22 102.03 L47.02 100.84 L51.51 100.00 L53.68 99.70 L55.82 99.49 L59.95 99.33 L62.06 99.37 L64.18 99.49 L66.32 99.70 L68.49 100.00 L72.98 100.84 L77.72 102.02 L82.80 103.53 L88.33 105.40 L94.29 107.58 L104.75 111.63 L105.74 111.91 L106.76 112.00 L107.27 111.97 L108.27 111.76 L109.22 111.37 L109.66 111.10 L110.45 110.45 L111.10 109.66 L111.37 109.22 L111.76 108.27 L111.89 107.78 L112.00 106.76 L111.91 105.74 L111.63 104.75 L107.59 94.33 L105.40 88.33 L103.53 82.80 L102.03 77.78 L100.84 72.98 L100.00 68.49 L99.70 66.32 L99.49 64.18 L99.33 60.05 L99.37 57.94 L99.49 55.82 L99.70 53.68 L100.00 51.51 L100.84 47.02 L102.02 42.28 L103.53 37.20 L105.40 31.67 L107.58 25.71 L111.63 15.25 L111.91 14.26 L112.00 13.24 L111.97 12.73 L111.76 11.73 L111.37 10.78 L110.79 9.93 L110.45 9.55 L110.07 9.21 L109.22 8.63 L108.27 8.24 L107.78 8.11 L106.76 8.00 L105.74 8.09 L104.75 8.37 L94.33 12.41 L88.33 14.60 L82.80 16.47 L77.72 17.98 L72.98 19.16 L68.49 20.00 L66.32 20.30 L64.18 20.51 L62.06 20.63 L59.95 20.67 L55.82 20.51 L53.68 20.30 L51.51 20.00 L47.02 19.16 L42.28 17.98 L37.20 16.47 L31.67 14.60 L25.71 12.42 L15.25 8.37Z%22/%3E%3C/g%3E%3C/g%3E%3Cpath fill=%22%23f4f7ff%22 d=%22M50.00 34.00 L50.02 86.65 L50.19 87.95 L50.34 88.59 L50.76 89.83 L51.34 91.00 L51.69 91.56 L52.48 92.59 L52.93 93.07 L53.41 93.52 L54.44 94.31 L55.58 94.97 L56.17 95.24 L57.41 95.66 L58.05 95.81 L59.35 95.98 L60.65 95.98 L61.95 95.81 L62.59 95.66 L63.83 95.24 L64.42 94.97 L65.56 94.31 L66.09 93.93 L67.07 93.07 L67.52 92.59 L68.31 91.56 L68.97 90.42 L69.24 89.83 L69.66 88.59 L69.81 87.95 L69.98 86.65 L70.00 86.00 L70.00 34.00 L69.91 32.69 L69.66 31.41 L69.24 30.17 L68.97 29.58 L68.31 28.44 L67.93 27.91 L67.07 26.93 L66.59 26.48 L65.56 25.69 L64.42 25.03 L63.21 24.53 L61.95 24.19 L60.65 24.02 L60.00 24.00 L58.69 24.09 L58.05 24.19 L56.79 24.53 L56.17 24.76 L55.00 25.34 L54.44 25.69 L53.41 26.48 L52.93 26.93 L52.07 27.91 L51.69 28.44 L51.03 29.58 L50.76 30.17 L50.34 31.41 L50.19 32.05 L50.02 33.35 L50.00 34.00Z%22/%3E%3C/svg%3E");
  --ox-busy-check: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%22-16 -16 152 152%22%3E%3Cstyle%3E%40keyframes s%7Bto%7Btransform:rotate(360deg)%7D%7D.s%7Btransform-origin:60px 60px;animation:s 1.2s linear infinite%7D%3C/style%3E%3Cdefs%3E%3Cmask id=%22m%22 maskUnits=%22userSpaceOnUse%22 x=%22-40%22 y=%22-40%22 width=%22200%22 height=%22200%22%3E%3Crect x=%22-40%22 y=%22-40%22 width=%22200%22 height=%22200%22 fill=%22%23fff%22/%3E%3Cpath d=%22M44.00 86.00 L44.05 87.24 L44.27 88.93 L44.50 89.95 L44.92 91.33 L45.57 92.90 L46.24 94.17 L46.81 95.05 L47.84 96.40 L48.83 97.45 L49.60 98.16 L50.95 99.19 L52.17 99.95 L53.70 100.70 L55.04 101.21 L56.05 101.50 L57.72 101.83 L59.15 101.98 L60.85 101.98 L62.28 101.83 L63.31 101.65 L64.96 101.21 L66.30 100.70 L67.25 100.26 L68.72 99.41 L69.89 98.57 L70.70 97.90 L71.90 96.70 L72.57 95.89 L73.41 94.72 L74.26 93.25 L74.70 92.30 L75.21 90.96 L75.50 89.95 L75.83 88.28 L76.00 86.00 L76.00 34.00 L75.83 31.72 L75.40 29.67 L74.70 27.70 L74.26 26.75 L73.41 25.28 L72.16 23.60 L70.70 22.10 L69.89 21.43 L68.72 20.59 L66.90 19.57 L64.96 18.79 L63.31 18.35 L61.89 18.11 L60.20 18.00 L58.76 18.05 L57.07 18.27 L55.67 18.60 L54.06 19.15 L52.75 19.74 L51.28 20.59 L50.11 21.43 L48.83 22.55 L47.84 23.60 L46.81 24.95 L46.05 26.17 L45.30 27.70 L44.79 29.04 L44.35 30.69 L44.17 31.72 L44.00 34.00 L44.00 86.00Z%22 fill=%22%23000%22/%3E%3C/mask%3E%3C/defs%3E%3Cg mask=%22url(%23m)%22%3E%3Cg class=%22s%22%3E%3Cpath fill=%22%23ff58bc%22 d=%22M15.25 8.37 L14.26 8.09 L13.24 8.00 L12.73 8.03 L11.73 8.24 L11.24 8.41 L10.34 8.90 L9.93 9.21 L9.21 9.93 L8.63 10.78 L8.41 11.24 L8.11 12.22 L8.03 12.73 L8.02 13.76 L8.09 14.26 L8.37 15.25 L12.41 25.67 L15.57 34.47 L17.27 39.78 L18.60 44.62 L19.63 49.29 L20.30 53.68 L20.51 55.82 L20.63 57.94 L20.67 60.05 L20.63 62.16 L20.30 66.32 L19.99 68.58 L19.15 73.06 L17.97 77.78 L16.47 82.80 L14.60 88.33 L12.42 94.29 L8.37 104.75 L8.09 105.74 L8.00 106.76 L8.11 107.78 L8.24 108.27 L8.63 109.22 L9.21 110.07 L9.55 110.45 L10.34 111.10 L11.24 111.59 L11.73 111.76 L12.22 111.89 L13.24 112.00 L14.26 111.91 L15.25 111.63 L25.67 107.59 L31.67 105.40 L37.20 103.53 L42.22 102.03 L47.02 100.84 L51.51 100.00 L53.68 99.70 L55.82 99.49 L59.95 99.33 L62.06 99.37 L64.18 99.49 L66.32 99.70 L68.49 100.00 L72.98 100.84 L77.72 102.02 L82.80 103.53 L88.33 105.40 L94.29 107.58 L104.75 111.63 L105.74 111.91 L106.76 112.00 L107.27 111.97 L108.27 111.76 L109.22 111.37 L109.66 111.10 L110.45 110.45 L111.10 109.66 L111.37 109.22 L111.76 108.27 L111.89 107.78 L112.00 106.76 L111.91 105.74 L111.63 104.75 L107.59 94.33 L105.40 88.33 L103.53 82.80 L102.03 77.78 L100.84 72.98 L100.00 68.49 L99.70 66.32 L99.49 64.18 L99.33 60.05 L99.37 57.94 L99.49 55.82 L99.70 53.68 L100.00 51.51 L100.84 47.02 L102.02 42.28 L103.53 37.20 L105.40 31.67 L107.58 25.71 L111.63 15.25 L111.91 14.26 L112.00 13.24 L111.97 12.73 L111.76 11.73 L111.37 10.78 L110.79 9.93 L110.45 9.55 L110.07 9.21 L109.22 8.63 L108.27 8.24 L107.78 8.11 L106.76 8.00 L105.74 8.09 L104.75 8.37 L94.33 12.41 L88.33 14.60 L82.80 16.47 L77.72 17.98 L72.98 19.16 L68.49 20.00 L66.32 20.30 L64.18 20.51 L62.06 20.63 L59.95 20.67 L55.82 20.51 L53.68 20.30 L51.51 20.00 L47.02 19.16 L42.28 17.98 L37.20 16.47 L31.67 14.60 L25.71 12.42 L15.25 8.37Z%22/%3E%3C/g%3E%3C/g%3E%3Cpath fill=%22%23f4f7ff%22 d=%22M50.00 34.00 L50.02 86.65 L50.19 87.95 L50.34 88.59 L50.76 89.83 L51.34 91.00 L51.69 91.56 L52.48 92.59 L52.93 93.07 L53.41 93.52 L54.44 94.31 L55.58 94.97 L56.17 95.24 L57.41 95.66 L58.05 95.81 L59.35 95.98 L60.65 95.98 L61.95 95.81 L62.59 95.66 L63.83 95.24 L64.42 94.97 L65.56 94.31 L66.09 93.93 L67.07 93.07 L67.52 92.59 L68.31 91.56 L68.97 90.42 L69.24 89.83 L69.66 88.59 L69.81 87.95 L69.98 86.65 L70.00 86.00 L70.00 34.00 L69.91 32.69 L69.66 31.41 L69.24 30.17 L68.97 29.58 L68.31 28.44 L67.93 27.91 L67.07 26.93 L66.59 26.48 L65.56 25.69 L64.42 25.03 L63.21 24.53 L61.95 24.19 L60.65 24.02 L60.00 24.00 L58.69 24.09 L58.05 24.19 L56.79 24.53 L56.17 24.76 L55.00 25.34 L54.44 25.69 L53.41 26.48 L52.93 26.93 L52.07 27.91 L51.69 28.44 L51.03 29.58 L50.76 30.17 L50.34 31.41 L50.19 32.05 L50.02 33.35 L50.00 34.00Z%22/%3E%3C/svg%3E");
}

/* ---------- Header logo tile ---------- */
.ox-tile {
  --ox-tile: var(--ox-ink); --ox-spark-c: var(--ox-pink); --ox-spine-c: var(--ox-cream);
  --ox-word-c: var(--ox-cream); --ox-x-c: var(--ox-pink);
  display: inline-flex;
  align-items: center;
  height: 40px;
  box-sizing: border-box;
  padding: 0 14px 0 9px;
  border-radius: 12px;
  background: var(--ox-tile);
  text-decoration: none;
  transition: transform 160ms ease;
}
.ox-tile[data-ox-variant="ink"]    { --ox-tile: var(--ox-ink);    --ox-spark-c: var(--ox-pink); --ox-spine-c: var(--ox-cream); --ox-word-c: var(--ox-cream); --ox-x-c: var(--ox-pink); }
.ox-tile[data-ox-variant="yellow"] { --ox-tile: var(--ox-yellow); --ox-spark-c: var(--ox-pink); --ox-spine-c: var(--ox-ink);   --ox-word-c: var(--ox-ink);   --ox-x-c: var(--ox-pink); }
.ox-tile[data-ox-variant="blue"]   { --ox-tile: var(--ox-blue);   --ox-spark-c: var(--ox-pink); --ox-spine-c: var(--ox-cream); --ox-word-c: var(--ox-cream); --ox-x-c: var(--ox-yellow); }
.ox-tile[data-ox-variant="green"]  { --ox-tile: var(--ox-green);  --ox-spark-c: var(--ox-pink); --ox-spine-c: var(--ox-cream); --ox-word-c: var(--ox-cream); --ox-x-c: var(--ox-yellow); }
/* No-JS fallback in dark mode: yellow (brand.js picks yellow/blue/green per page load). */
:root[data-site-theme="dark"] .ox-tile:not([data-ox-variant]) { --ox-tile: var(--ox-yellow); --ox-spine-c: var(--ox-ink); --ox-word-c: var(--ox-ink); }

.brand-lockup:has(> .ox-tile) { gap: 10px; }
.brand-lockup:has(> .ox-tile):focus-visible { outline: 3px solid var(--pink); outline-offset: 3px; border-radius: 14px; }
.ox-tile .ox-logo { display: block; height: 28px; width: auto; overflow: visible; }
.ox-logo .ox-spark path { fill: var(--ox-spark-c); }
.ox-logo .ox-spine path { fill: var(--ox-spine-c); }
.ox-logo .ox-word path { fill: var(--ox-word-c); }
.ox-logo .ox-word .ox-x { fill: var(--ox-x-c); }

@media (max-width: 720px) {
  .ox-tile { height: 36px; padding: 0 12px 0 8px; border-radius: 11px; }
  .ox-tile .ox-logo { height: 24px; }
}

/* ---------- Logo motion ---------- */
.ox-logo .ox-spark, .ox-logo .ox-spine { transform-box: view-box; transform-origin: 60px 60px; }
.ox-logo .ox-word { transform-box: view-box; }
/* Intro: plays once per page load. 1 rises, spark spins in, words slide out. */
.ox-logo.ox-intro .ox-spine { transform-origin: 60px 95px; animation: ox-rise 520ms cubic-bezier(.34,1.4,.64,1) both; }
.ox-logo.ox-intro .ox-spark { animation: ox-popin 760ms cubic-bezier(.34,1.4,.64,1) 260ms backwards; }
.ox-logo.ox-intro .ox-word { animation: ox-wordin 560ms cubic-bezier(.2,.9,.3,1.1) 760ms backwards; }
@keyframes ox-rise { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes ox-popin { from { transform: scale(0) rotate(-90deg); } to { transform: scale(1) rotate(0deg); } }
@keyframes ox-wordin { from { opacity: 0; transform: translateX(-18px); } to { opacity: 1; transform: translateX(0); } }
/* Hover / keyboard focus: one quarter turn of the spark (lands identical). */
.ox-logo .ox-spark { transition: transform 700ms cubic-bezier(.68,-0.25,.27,1.25); }
.ox-tile:hover .ox-logo .ox-spark,
.brand-lockup:hover .ox-logo .ox-spark,
.brand-lockup:focus-visible .ox-logo .ox-spark { transform: rotate(90deg); }

/* ---------- Brand spinner (inline SVG, colour = currentColor) ---------- */
.ox-spinner { display: inline-block; flex: 0 0 auto; width: 14px; height: 14px; overflow: visible; vertical-align: -2px; }
.ox-spinner .ox-s-spark { transform-box: view-box; transform-origin: 60px 60px; animation: ox-spin 1.2s linear infinite; }
.ox-spinner .ox-s-spark path { fill: var(--ox-spinner-spark, currentColor); }
.ox-spinner .ox-s-spine { fill: var(--ox-spinner-spine, currentColor); }
@keyframes ox-spin { to { transform: rotate(360deg); } }

/* ---------- Existing spinners, re-skinned (no markup change needed for these) ---------- */
/* Busy buttons: the old 16px ring (14px on .mini-button) becomes the brand spinner.
   The box is 20px (18px) because the image includes room for the turning tips;
   the visible spark is the same size as the old ring.
   Colour mapping is unchanged: --ink by default, --white on pink buttons. */
.is-action-busy::after {
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 0;
  background: var(--ox-busy-ink) center / contain no-repeat;
  animation: none;
  transform: translate(-50%, -50%);
}
.is-action-busy-with-label::after { transform: translateY(-50%); }
.mini-button.is-action-busy::after { width: 18px; height: 18px; border-width: 0; }
.primary-action.is-action-busy::after,
.curation-exclude-toggle.is-action-busy::after,
.feed-mint-action.is-action-busy::after { background-image: var(--ox-busy-white); }

/* File/URL verification "checking" badge: was a pink arc on a faint ink track,
   so the spark is pink and the 1 is ink. */
.verification-icon[data-state="checking"]::before {
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 0;
  background: var(--ox-busy-check) center / contain no-repeat;
  animation: none;
}

/* Inline loading spinners swapped to <svg class="ox-spinner ..."> by
   OneXStudioBrand.spinnerSVG(): keep their original box sizes, drop the ring. */
.ox-spinner.eligibility-spinner,
.ox-spinner.profile-role-stats-spinner { width: 11px; height: 11px; border: 0; border-radius: 0; animation: none; }
.ox-spinner.home-panel-spinner { width: 12px; height: 12px; border: 0; border-radius: 0; animation: none; }

@media (prefers-reduced-motion: reduce) {
  .ox-logo .ox-spark, .ox-logo .ox-spine, .ox-logo .ox-word { animation: none !important; transition: none !important; }
  /* Spinners keep turning (they signal work in progress) but slower. */
  .ox-spinner .ox-s-spark { animation-duration: 2.4s; }
}
