/* GENERATED from tokens/tokens.json — do not edit. motion-catalog tokens v3 */
:root {
  --dur-0: 0ms;
  --dur-100: 100ms;
  --dur-125: 125ms;
  --dur-150: 150ms;
  --dur-200: 200ms;
  --dur-250: 250ms;
  --dur-300: 300ms;
  --dur-400: 400ms;
  --dur-500: 500ms;
  --dur-600: 600ms;
  --dur-800: 800ms;
  --exit-ratio: 0.6;
  --ease-out: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-sheet: cubic-bezier(0.32, 0.72, 0, 1);
  --ease-slam: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-shunt: cubic-bezier(0.83, 0, 0.17, 1);
  --ease-hover: ease; --ease-linear: linear;
  --spring-default: linear(0, 0.0062, 0.0229, 0.0478, 0.079, 0.1146, 0.1535, 0.1944, 0.2365, 0.2789, 0.3212, 0.3629, 0.4035, 0.4429, 0.4808, 0.517, 0.5515, 0.5843, 0.6152, 0.6443, 0.6717, 0.6973, 0.7212, 0.7436, 0.7643, 0.7836, 0.8015, 0.8181, 0.8334, 0.8475, 0.8605, 0.8725, 0.8836, 0.8937, 0.9031, 0.9116, 0.9195, 0.9266, 0.9332, 0.9392, 0.9447, 0.9497, 0.9543, 0.9585, 0.9623, 0.9658, 0.969, 0.9718, 0.9745, 0.9768, 0.979, 0.981, 0.9828, 0.9844, 0.9859, 0.9872, 0.9884, 0.9895, 0.9905, 0.9914, 0.9923, 0.993, 0.9937, 0.9943, 0.9948, 0.9953, 0.9958, 0.9962, 0.9966, 0.9969, 0.9972, 0.9975, 0.9977, 0.998, 0.9982, 0.9983, 0.9985, 0.9986, 0.9988, 0.9989, 0.999, 0.9991, 0.9992, 0.9993, 0.9993, 0.9994, 0.9995, 1);
  --spring-default-dur: 480ms;
  --spring-smooth: linear(0, 0.0051, 0.0191, 0.0401, 0.0667, 0.0974, 0.1313, 0.1674, 0.2048, 0.2431, 0.2816, 0.3199, 0.3577, 0.3948, 0.4308, 0.4656, 0.4991, 0.5313, 0.562, 0.5912, 0.6189, 0.6452, 0.67, 0.6934, 0.7154, 0.7361, 0.7554, 0.7736, 0.7905, 0.8063, 0.821, 0.8347, 0.8475, 0.8594, 0.8704, 0.8806, 0.89, 0.8988, 0.9069, 0.9144, 0.9213, 0.9277, 0.9336, 0.939, 0.9441, 0.9487, 0.9529, 0.9569, 0.9605, 0.9638, 0.9668, 0.9696, 0.9722, 0.9745, 0.9767, 0.9787, 0.9805, 0.9822, 0.9837, 0.9851, 0.9864, 0.9876, 0.9887, 0.9896, 0.9905, 0.9914, 0.9921, 0.9928, 0.9934, 0.994, 0.9945, 0.995, 0.9955, 0.9959, 0.9962, 0.9966, 0.9969, 0.9971, 0.9974, 0.9976, 0.9978, 0.998, 0.9982, 0.9984, 0.9985, 0.9987, 0.9988, 0.9989, 0.999, 0.9991, 0.9992, 0.9992, 0.9993, 0.9994, 0.9994, 0.9995, 1);
  --spring-smooth-dur: 800ms;
  --spring-snappy: linear(0, 0.0052, 0.0195, 0.0413, 0.0692, 0.1018, 0.1382, 0.1773, 0.2183, 0.2604, 0.3031, 0.3458, 0.3881, 0.4297, 0.4702, 0.5094, 0.5471, 0.5833, 0.6177, 0.6503, 0.6812, 0.7102, 0.7374, 0.7627, 0.7864, 0.8083, 0.8286, 0.8472, 0.8644, 0.8801, 0.8945, 0.9076, 0.9195, 0.9302, 0.9399, 0.9486, 0.9564, 0.9634, 0.9696, 0.9751, 0.98, 0.9842, 0.988, 0.9912, 0.994, 0.9964, 0.9984, 1.0002, 1.0016, 1.0028, 1.0038, 1.0046, 1.0052, 1.0056, 1.0059, 1.0061, 1.0063, 1.0063, 1.0063, 1.0062, 1.006, 1.0058, 1.0056, 1.0054, 1.0052, 1.0049, 1.0046, 1.0044, 1.0041, 1.0038, 1.0036, 1.0033, 1.0031, 1.0028, 1.0026, 1.0024, 1.0022, 1.002, 1.0018, 1.0016, 1.0015, 1.0013, 1.0012, 1.0011, 1.001, 1.0008, 1.0007, 1.0007, 1.0006, 1.0005, 1.0004, 1.0004, 1.0003, 1.0003, 1.0002, 1.0002, 1);
  --spring-snappy-dur: 800ms;
  --spring-gesture: linear(0, 0.0052, 0.0196, 0.0417, 0.07, 0.1034, 0.1406, 0.1808, 0.2231, 0.2666, 0.3109, 0.3552, 0.3993, 0.4425, 0.4848, 0.5257, 0.5651, 0.6028, 0.6387, 0.6727, 0.7048, 0.7348, 0.763, 0.7891, 0.8134, 0.8358, 0.8564, 0.8753, 0.8925, 0.9082, 0.9223, 0.9351, 0.9465, 0.9567, 0.9658, 0.9738, 0.9809, 0.987, 0.9924, 0.997, 1.0009, 1.0042, 1.0069, 1.0092, 1.011, 1.0124, 1.0135, 1.0143, 1.0148, 1.0151, 1.0152, 1.0151, 1.0149, 1.0145, 1.0141, 1.0136, 1.013, 1.0124, 1.0118, 1.0111, 1.0105, 1.0098, 1.0091, 1.0085, 1.0078, 1.0072, 1.0066, 1.006, 1.0055, 1.005, 1.0045, 1.004, 1.0036, 1.0032, 1.0028, 1.0025, 1.0022, 1.0019, 1.0016, 1.0014, 1.0012, 1.001, 1.0008, 1.0007, 1.0005, 1.0004, 1.0003, 1.0002, 1.0001, 1, 1, 0.9999, 0.9999, 0.9999, 0.9998, 0.9998, 1);
  --spring-gesture-dur: 800ms;
  --spring-playful: linear(0, 0.0052, 0.0199, 0.0425, 0.0718, 0.1066, 0.1457, 0.1882, 0.2332, 0.2799, 0.3275, 0.3755, 0.4233, 0.4705, 0.5166, 0.5614, 0.6045, 0.6458, 0.6851, 0.7222, 0.7571, 0.7897, 0.82, 0.848, 0.8737, 0.8972, 0.9186, 0.9378, 0.9551, 0.9705, 0.9841, 0.996, 1.0063, 1.0151, 1.0226, 1.0288, 1.0339, 1.038, 1.0411, 1.0434, 1.0449, 1.0457, 1.046, 1.0458, 1.0451, 1.044, 1.0427, 1.0411, 1.0393, 1.0373, 1.0353, 1.0331, 1.0309, 1.0287, 1.0265, 1.0244, 1.0222, 1.0202, 1.0182, 1.0163, 1.0145, 1.0128, 1.0112, 1.0097, 1.0083, 1.007, 1.0058, 1.0047, 1.0038, 1.0029, 1.0021, 1.0014, 1.0007, 1.0002, 0.9997, 0.9993, 0.999, 0.9987, 0.9984, 0.9983, 0.9981, 0.998, 0.9979, 0.9979, 0.9979, 0.9979, 0.9979, 0.998, 0.998, 0.9981, 0.9982, 0.9983, 0.9984, 0.9985, 0.9986, 0.9987, 1);
  --spring-playful-dur: 800ms;
  --spring-sheet: linear(0, 0.0048, 0.0179, 0.0378, 0.0633, 0.0931, 0.1262, 0.1618, 0.1991, 0.2375, 0.2764, 0.3155, 0.3542, 0.3924, 0.4297, 0.466, 0.501, 0.5348, 0.5671, 0.598, 0.6273, 0.6552, 0.6815, 0.7063, 0.7296, 0.7515, 0.772, 0.7911, 0.8089, 0.8255, 0.8409, 0.8551, 0.8683, 0.8805, 0.8917, 0.902, 0.9115, 0.9202, 0.9281, 0.9354, 0.9421, 0.9481, 0.9536, 0.9586, 0.9632, 0.9673, 0.971, 0.9744, 0.9774, 0.9801, 0.9826, 0.9848, 0.9868, 0.9885, 0.9901, 0.9915, 0.9927, 0.9938, 0.9948, 0.9956, 0.9964, 0.997, 0.9976, 0.9981, 0.9985, 0.9989, 0.9992, 0.9995, 0.9997, 0.9999, 1.0001, 1.0002, 1.0003, 1.0004, 1.0005, 1.0005, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0005, 1.0005, 1.0005, 1.0005, 1.0004, 1.0004, 1.0004, 1.0004, 1.0004, 1.0003, 1.0003, 1.0003, 1.0003, 1.0002, 1);
  --spring-sheet-dur: 832ms;
  --spring-morph: linear(0, 0.0061, 0.0229, 0.0483, 0.0803, 0.1176, 0.1587, 0.2023, 0.2477, 0.2938, 0.3401, 0.3859, 0.4309, 0.4745, 0.5166, 0.5569, 0.5952, 0.6315, 0.6657, 0.6978, 0.7277, 0.7555, 0.7812, 0.8049, 0.8267, 0.8467, 0.8649, 0.8815, 0.8965, 0.91, 0.9223, 0.9332, 0.943, 0.9517, 0.9594, 0.9663, 0.9723, 0.9776, 0.9821, 0.9861, 0.9896, 0.9925, 0.995, 0.9972, 0.9989, 1.0004, 1.0016, 1.0026, 1.0034, 1.0039, 1.0044, 1.0047, 1.0049, 1.005, 1.005, 1.005, 1.0049, 1.0048, 1.0046, 1.0044, 1.0042, 1.004, 1.0038, 1.0035, 1.0033, 1.0031, 1.0028, 1.0026, 1.0024, 1.0022, 1.002, 1.0018, 1.0017, 1.0015, 1.0014, 1.0012, 1.0011, 1.001, 1.0009, 1.0008, 1.0007, 1.0006, 1.0005, 1.0004, 1.0004, 1.0003, 1.0003, 1.0002, 1);
  --spring-morph-dur: 720ms;
  --spring-press: linear(0, 0.006, 0.0229, 0.0487, 0.0818, 0.1207, 0.1642, 0.2109, 0.2599, 0.3103, 0.3612, 0.412, 0.4621, 0.511, 0.5583, 0.6037, 0.6469, 0.6878, 0.7262, 0.7621, 0.7954, 0.8261, 0.8543, 0.8799, 0.9031, 0.924, 0.9426, 0.9591, 0.9736, 0.9862, 0.9971, 1.0064, 1.0142, 1.0207, 1.026, 1.0302, 1.0334, 1.0357, 1.0372, 1.0381, 1.0384, 1.0382, 1.0376, 1.0366, 1.0354, 1.0339, 1.0322, 1.0305, 1.0286, 1.0266, 1.0247, 1.0227, 1.0208, 1.0189, 1.0171, 1.0154, 1.0137, 1.0121, 1.0106, 1.0092, 1.008, 1.0068, 1.0057, 1.0047, 1.0038, 1.003, 1.0023, 1.0016, 1.0011, 1.0006, 1.0001, 0.9998, 0.9995, 0.9992, 0.999, 0.9989, 0.9987, 0.9986, 0.9986, 0.9985, 0.9985, 0.9985, 0.9986, 0.9986, 0.9986, 0.9987, 0.9988, 0.9988, 0.9989, 1);
  --spring-press-dur: 400ms;
  --scale-press: 0.97;
  --scale-enter: 0.95;
  --scale-icon-from: 0.25;
  --scale-stack-step: 0.05;
  --scale-card-back: 0.9;
  --travel-enter: 12px;
  --travel-lift: 2px;
  --travel-stack: 14px;
  --travel-page: 24px;
  --travel-swipe: 45px;
  --blur-crossfade: 4px;
  --blur-text-in: 10px;
  --blur-depth-cap: 6px;
  --stagger-item: 50ms;
  --stagger-group: 100ms;
  --stagger-word: 80ms;
  --stagger-line: 100ms;
  --stagger-char: 30ms;
  --stagger-cap: 600ms;
  --loading-delay: 200ms;
  --loading-min: 400ms;
  --loop-slow: 6s;
  --loop-shimmer: 2s;
  --loop-autoplay-max: 5s;
  --gesture-swipe-velocity: 0.11;
  --gesture-fling-velocity: 400;
  --gesture-rubber-band: 0.55;
  --gesture-magnet-strength: 0.3;
  --gesture-magnet-radius: 72px;
  --gesture-tilt-cap: 8;
  --gesture-prox-radius: 50px;
  --gesture-tab-stretch-lag: 0.14;
  --gesture-slop: 10px;
  --gesture-longpress: 480ms;
  --gesture-projection-rate: 0.998;
  --gesture-decel-fast: 0.995;
  --depth-layer-gap: 84px;
  --depth-perspective: 1200px;
  --snd-tick: 30ms;
  --snd-tap: 50ms;
  --snd-toggle-on: 88ms;
  --snd-toggle-off: 88ms;
  --snd-select: 60ms;
  --snd-confirm: 150ms;
  --snd-error: 143ms;
  --snd-notify: 413ms;
  --snd-celebrate: 472ms;
  --snd-whoosh: 140ms;
  --snd-detent: 32ms;
  --snd-flap: 40ms;
  --snd-volume: 0.5;
  --snd-jitter-cents: 30;
  --snd-jitter-db: 1;
  --snd-product-cap: 80ms;
  --snd-root: 880;
  --hap-tick: 6;
  --hap-tap: 12;
  --hap-toggle-on: 10 40 16;
  --hap-toggle-off: 16 40 10;
  --hap-select: 10;
  --hap-confirm: 14 60 24;
  --hap-error: 30 50 30 50 30;
  --hap-notify: 20 80 20;
  --hap-celebrate: 16 40 16 40 30;
  --hap-whoosh: 18;
  --hap-detent: 8;
  --hap-flap: 6 20 6;
  --hap-min-gap: 60ms;
  --mech-detent-strength: 0.5;
  --mech-friction: 0.998;
  --mech-settle-max: 1200ms;
  --mech-restitution: 0.3;
  --mech-flap-step: 70ms;
  --mech-flap-jitter: 25ms;
  --mech-needle-overshoot: 0.015;
  --mech-needle-settle: 300ms;
  --mech-commit-hold: 1200ms;
  --mech-commit-resistance: 2.5;
  --mech-commit-decay: 450ms;
  --mech-stop-motion-fps: 12;
  --mech-haptic-gap: 40ms;
  --mech-sound-gap: 25ms;
  --mech-gravity: 2000;
  --mech-fold-response: 420ms;
  --mech-curl-response: 500ms;
  --spring-m3-spatial-fast: linear(0, 0.0061, 0.0233, 0.0499, 0.0845, 0.1256, 0.1719, 0.2222, 0.2754, 0.3306, 0.3867, 0.4429, 0.4987, 0.5535, 0.6065, 0.6576, 0.7063, 0.7522, 0.7954, 0.8355, 0.8724, 0.9062, 0.9369, 0.9644, 0.9888, 1.0103, 1.0289, 1.0449, 1.0582, 1.0692, 1.078, 1.0847, 1.0896, 1.0927, 1.0944, 1.0947, 1.0939, 1.0921, 1.0893, 1.0859, 1.0819, 1.0774, 1.0726, 1.0675, 1.0622, 1.0569, 1.0516, 1.0463, 1.0411, 1.0361, 1.0314, 1.0268, 1.0225, 1.0185, 1.0147, 1.0113, 1.0082, 1.0053, 1.0028, 1.0006, 0.9986, 0.9969, 0.9954, 0.9942, 0.9932, 0.9924, 0.9918, 0.9914, 0.9912, 0.991, 0.991, 0.9911, 0.9913, 0.9916, 0.9919, 0.9923, 0.9928, 0.9932, 0.9937, 0.9942, 0.9947, 0.9952, 0.9957, 0.9962, 0.9967, 0.9971, 0.9976, 0.998, 0.9983, 1); --spring-m3-spatial-fast-dur: 355ms; --spring-m3-spatial-fast-stiffness: 800; --spring-m3-spatial-fast-damping: 0.6;
  --spring-m3-spatial-default: linear(0, 0.0061, 0.0231, 0.0489, 0.0816, 0.1199, 0.1623, 0.2075, 0.2546, 0.3028, 0.3512, 0.3993, 0.4464, 0.4923, 0.5366, 0.579, 0.6193, 0.6575, 0.6933, 0.7268, 0.758, 0.7868, 0.8134, 0.8378, 0.86, 0.8801, 0.8984, 0.9148, 0.9294, 0.9425, 0.9541, 0.9642, 0.9732, 0.9809, 0.9876, 0.9933, 0.9981, 1.0022, 1.0055, 1.0082, 1.0104, 1.0121, 1.0133, 1.0142, 1.0148, 1.0151, 1.0152, 1.015, 1.0148, 1.0143, 1.0138, 1.0132, 1.0126, 1.0119, 1.0112, 1.0105, 1.0097, 1.009, 1.0083, 1.0076, 1.0069, 1.0063, 1.0057, 1.0051, 1.0046, 1.0041, 1.0036, 1.0032, 1.0028, 1.0024, 1.0021, 1.0018, 1.0015, 1.0013, 1.001, 1.0008, 1.0007, 1.0005, 1.0004, 1.0003, 1.0002, 1.0001, 1, 1, 0.9999, 0.9999, 0.9998, 0.9998, 1); --spring-m3-spatial-default-dur: 516ms; --spring-m3-spatial-default-stiffness: 380; --spring-m3-spatial-default-damping: 0.8;
  --spring-m3-spatial-slow: linear(0, 0.0061, 0.0231, 0.0489, 0.0816, 0.1199, 0.1623, 0.2075, 0.2546, 0.3028, 0.3512, 0.3993, 0.4464, 0.4923, 0.5366, 0.579, 0.6193, 0.6575, 0.6933, 0.7268, 0.758, 0.7868, 0.8134, 0.8378, 0.86, 0.8801, 0.8984, 0.9148, 0.9294, 0.9425, 0.9541, 0.9642, 0.9732, 0.9809, 0.9876, 0.9933, 0.9981, 1.0022, 1.0055, 1.0082, 1.0104, 1.0121, 1.0133, 1.0142, 1.0148, 1.0151, 1.0152, 1.015, 1.0148, 1.0143, 1.0138, 1.0132, 1.0126, 1.0119, 1.0112, 1.0105, 1.0097, 1.009, 1.0083, 1.0076, 1.0069, 1.0063, 1.0057, 1.0051, 1.0046, 1.0041, 1.0036, 1.0032, 1.0028, 1.0024, 1.0021, 1.0018, 1.0015, 1.0013, 1.001, 1.0008, 1.0007, 1.0005, 1.0004, 1.0003, 1.0002, 1.0001, 1, 1, 0.9999, 0.9999, 0.9998, 0.9998, 1); --spring-m3-spatial-slow-dur: 711ms; --spring-m3-spatial-slow-stiffness: 200; --spring-m3-spatial-slow-damping: 0.8;
  --spring-m3-effects-fast: linear(0, 0.0062, 0.0229, 0.0478, 0.079, 0.1146, 0.1535, 0.1944, 0.2365, 0.2789, 0.3212, 0.3629, 0.4035, 0.4429, 0.4808, 0.517, 0.5515, 0.5843, 0.6152, 0.6443, 0.6717, 0.6973, 0.7212, 0.7436, 0.7643, 0.7836, 0.8015, 0.8181, 0.8334, 0.8475, 0.8605, 0.8725, 0.8836, 0.8937, 0.9031, 0.9116, 0.9195, 0.9266, 0.9332, 0.9392, 0.9447, 0.9497, 0.9543, 0.9585, 0.9623, 0.9658, 0.969, 0.9718, 0.9745, 0.9768, 0.979, 0.981, 0.9828, 0.9844, 0.9859, 0.9872, 0.9884, 0.9895, 0.9905, 0.9914, 0.9923, 0.993, 0.9937, 0.9943, 0.9948, 0.9953, 0.9958, 0.9962, 0.9966, 0.9969, 0.9972, 0.9975, 0.9977, 0.998, 0.9982, 0.9983, 0.9985, 0.9986, 0.9988, 0.9989, 0.999, 0.9991, 0.9992, 0.9993, 0.9993, 0.9994, 0.9995, 1); --spring-m3-effects-fast-dur: 163ms; --spring-m3-effects-fast-stiffness: 3800; --spring-m3-effects-fast-damping: 1.0;
  --spring-m3-effects-default: linear(0, 0.0062, 0.0229, 0.0478, 0.079, 0.1146, 0.1535, 0.1944, 0.2365, 0.2789, 0.3212, 0.3629, 0.4035, 0.4429, 0.4808, 0.517, 0.5515, 0.5843, 0.6152, 0.6443, 0.6717, 0.6973, 0.7212, 0.7436, 0.7643, 0.7836, 0.8015, 0.8181, 0.8334, 0.8475, 0.8605, 0.8725, 0.8836, 0.8937, 0.9031, 0.9116, 0.9195, 0.9266, 0.9332, 0.9392, 0.9447, 0.9497, 0.9543, 0.9585, 0.9623, 0.9658, 0.969, 0.9718, 0.9745, 0.9768, 0.979, 0.981, 0.9828, 0.9844, 0.9859, 0.9872, 0.9884, 0.9895, 0.9905, 0.9914, 0.9923, 0.993, 0.9937, 0.9943, 0.9948, 0.9953, 0.9958, 0.9962, 0.9966, 0.9969, 0.9972, 0.9975, 0.9977, 0.998, 0.9982, 0.9983, 0.9985, 0.9986, 0.9988, 0.9989, 0.999, 0.9991, 0.9992, 0.9993, 0.9993, 0.9994, 0.9995, 1); --spring-m3-effects-default-dur: 251ms; --spring-m3-effects-default-stiffness: 1600; --spring-m3-effects-default-damping: 1.0;
  --spring-m3-effects-slow: linear(0, 0.0062, 0.0229, 0.0478, 0.079, 0.1146, 0.1535, 0.1944, 0.2365, 0.2789, 0.3212, 0.3629, 0.4035, 0.4429, 0.4808, 0.517, 0.5515, 0.5843, 0.6152, 0.6443, 0.6717, 0.6973, 0.7212, 0.7436, 0.7643, 0.7836, 0.8015, 0.8181, 0.8334, 0.8475, 0.8605, 0.8725, 0.8836, 0.8937, 0.9031, 0.9116, 0.9195, 0.9266, 0.9332, 0.9392, 0.9447, 0.9497, 0.9543, 0.9585, 0.9623, 0.9658, 0.969, 0.9718, 0.9745, 0.9768, 0.979, 0.981, 0.9828, 0.9844, 0.9859, 0.9872, 0.9884, 0.9895, 0.9905, 0.9914, 0.9923, 0.993, 0.9937, 0.9943, 0.9948, 0.9953, 0.9958, 0.9962, 0.9966, 0.9969, 0.9972, 0.9975, 0.9977, 0.998, 0.9982, 0.9983, 0.9985, 0.9986, 0.9988, 0.9989, 0.999, 0.9991, 0.9992, 0.9993, 0.9993, 0.9994, 0.9995, 1); --spring-m3-effects-slow-dur: 355ms; --spring-m3-effects-slow-stiffness: 800; --spring-m3-effects-slow-damping: 1.0;
  --scrim: 0.5;
  /* v0 aliases (kept so older entries resolve) */
  --dur-xs: var(--dur-100); --dur-sm: var(--dur-150); --dur-md: var(--dur-250); --dur-lg: var(--dur-300); --dur-xl: var(--dur-500);
  --dur-exit-sm: var(--dur-100); --dur-exit-md: var(--dur-150); --dur-exit-lg: var(--dur-200);
  --dur-exit-ratio: var(--exit-ratio); --ease-in: var(--ease-out); --spring-dur: var(--spring-smooth-dur);
  --press-scale: var(--scale-press); --enter-scale: var(--scale-enter); --enter-y: var(--travel-enter);
}
/* v3 theme tier: light defaults, [data-theme=dark], prefers-color-scheme when data-theme is unset */
:root, :root[data-theme="light"] {
  --mc-brand: #6e6af6;
  --mc-radius: 10px;
  --mc-radius-lg: 16px;
  --mc-density: 1;
  --mc-font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  color-scheme: light;
  --mc-bg: #fafafb;
  --mc-fg: #141418;
  --mc-muted: #5c5c6b;
  --mc-surface: #ffffff;
  --mc-surface-2: #f1f1f4;
  --mc-border: #1414181f;
  --mc-danger: #d1293d;
  --mc-success: #177f44;
  --mc-warning: #b45309;
  --mc-shadow: 0 1px 2px #14141810, 0 8px 24px #14141814;
  --mc-glow: 0.35;
  --mc-accent: #6059e3; /* brand at L 0.55, accent-fg contrast 5.2:1 */
  --mc-accent-fg: #ffffff;
  --mc-accent-l: 0.55;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --mc-bg: #0b0b0d;
  --mc-fg: #f1f0f4;
  --mc-muted: #a3a2b0;
  --mc-surface: #151519;
  --mc-surface-2: #1d1d23;
  --mc-border: #f1f0f41f;
  --mc-danger: #ff6b7a;
  --mc-success: #4fd18b;
  --mc-warning: #f5b041;
  --mc-shadow: 0 1px 2px #00000066, 0 12px 32px #00000080;
  --mc-glow: 1;
  --mc-accent: #9aa0fd; /* brand at L 0.74, accent-fg contrast 7.7:1 */
  --mc-accent-fg: #141418;
  --mc-accent-l: 0.74;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --mc-bg: #0b0b0d;
    --mc-fg: #f1f0f4;
    --mc-muted: #a3a2b0;
    --mc-surface: #151519;
    --mc-surface-2: #1d1d23;
    --mc-border: #f1f0f41f;
    --mc-danger: #ff6b7a;
    --mc-success: #4fd18b;
    --mc-warning: #f5b041;
    --mc-shadow: 0 1px 2px #00000066, 0 12px 32px #00000080;
    --mc-glow: 1;
    --mc-accent: #9aa0fd; /* brand at L 0.74, accent-fg contrast 7.7:1 */
    --mc-accent-fg: #141418;
    --mc-accent-l: 0.74;
  }
}
/* W1 oklch definitions of the theme scale (same colours, authored where mixes stay clean); P3 screens get a status-colour lift */
@supports (color: oklch(0 0 0)) {
  :root, :root[data-theme="light"] {
    --mc-bg: oklch(0.9854 0.0013 286.38);
    --mc-fg: oklch(0.1931 0.0080 285.63);
    --mc-muted: oklch(0.4803 0.0239 285.46);
    --mc-surface: oklch(1.0000 0 0);
    --mc-surface-2: oklch(0.9590 0.0040 286.32);
    --mc-border: oklch(0.1931 0.0080 285.63 / 0.122);
    --mc-danger: oklch(0.5619 0.2013 21.13);
    --mc-success: oklch(0.5260 0.1285 152.44);
    --mc-warning: oklch(0.5553 0.1455 49.00);
  }
  :root[data-theme="dark"] {
    --mc-bg: oklch(0.1505 0.0042 285.88);
    --mc-fg: oklch(0.9570 0.0054 297.72);
    --mc-muted: oklch(0.7175 0.0201 289.17);
    --mc-surface: oklch(0.1975 0.0080 285.65);
    --mc-surface-2: oklch(0.2334 0.0115 285.48);
    --mc-border: oklch(0.9570 0.0054 297.72 / 0.122);
    --mc-danger: oklch(0.7146 0.1804 16.78);
    --mc-success: oklch(0.7712 0.1529 156.24);
    --mc-warning: oklch(0.8038 0.1460 75.26);
  }
  @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
    --mc-bg: oklch(0.1505 0.0042 285.88);
    --mc-fg: oklch(0.9570 0.0054 297.72);
    --mc-muted: oklch(0.7175 0.0201 289.17);
    --mc-surface: oklch(0.1975 0.0080 285.65);
    --mc-surface-2: oklch(0.2334 0.0115 285.48);
    --mc-border: oklch(0.9570 0.0054 297.72 / 0.122);
    --mc-danger: oklch(0.7146 0.1804 16.78);
    --mc-success: oklch(0.7712 0.1529 156.24);
    --mc-warning: oklch(0.8038 0.1460 75.26);
  } }
  @media (color-gamut: p3) {
    :root, :root[data-theme="light"] {
      --mc-danger: oklch(0.5619 0.2315 21.13);
      --mc-success: oklch(0.5260 0.1478 152.44);
      --mc-warning: oklch(0.5553 0.1673 49.00);
    }
    :root[data-theme="dark"] {
      --mc-danger: oklch(0.7146 0.2074 16.78);
      --mc-success: oklch(0.7712 0.1759 156.24);
      --mc-warning: oklch(0.8038 0.1679 75.26);
    }
    @media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) {
      --mc-danger: oklch(0.7146 0.2074 16.78);
      --mc-success: oklch(0.7712 0.1759 156.24);
      --mc-warning: oklch(0.8038 0.1679 75.26);
    } }
  }
}
/* modern engines: re-derive accent + accent-fg from --mc-brand, so `--mc-brand: #e5484d` on :root re-skins everything */
@supports (color: oklch(from red l c h)) {
  :root, :root[data-theme], :root:not([data-theme="light"]) { --mc-accent: oklch(from var(--mc-brand) var(--mc-accent-l) min(c, 0.2) h); --mc-accent-fg: oklch(from var(--mc-accent) clamp(0.16, (0.62 - l) * 1000, 1) 0 0); }
  @media (color-gamut: p3) { :root, :root[data-theme], :root:not([data-theme="light"]) { --mc-accent: oklch(from var(--mc-brand) var(--mc-accent-l) min(c * 1.15, 0.23) h); } }
}
/* v3 personality: <html data-mc-personality=calm|product|showcase|playful>; reduced motion (below) always wins */
:root { --mc-tempo: 1; --mc-energy: 1; --mc-bounce-cap: 0; }
:root { --spring-default-base: linear(0, 0.0062, 0.0229, 0.0478, 0.079, 0.1146, 0.1535, 0.1944, 0.2365, 0.2789, 0.3212, 0.3629, 0.4035, 0.4429, 0.4808, 0.517, 0.5515, 0.5843, 0.6152, 0.6443, 0.6717, 0.6973, 0.7212, 0.7436, 0.7643, 0.7836, 0.8015, 0.8181, 0.8334, 0.8475, 0.8605, 0.8725, 0.8836, 0.8937, 0.9031, 0.9116, 0.9195, 0.9266, 0.9332, 0.9392, 0.9447, 0.9497, 0.9543, 0.9585, 0.9623, 0.9658, 0.969, 0.9718, 0.9745, 0.9768, 0.979, 0.981, 0.9828, 0.9844, 0.9859, 0.9872, 0.9884, 0.9895, 0.9905, 0.9914, 0.9923, 0.993, 0.9937, 0.9943, 0.9948, 0.9953, 0.9958, 0.9962, 0.9966, 0.9969, 0.9972, 0.9975, 0.9977, 0.998, 0.9982, 0.9983, 0.9985, 0.9986, 0.9988, 0.9989, 0.999, 0.9991, 0.9992, 0.9993, 0.9993, 0.9994, 0.9995, 1); --spring-smooth-base: linear(0, 0.0051, 0.0191, 0.0401, 0.0667, 0.0974, 0.1313, 0.1674, 0.2048, 0.2431, 0.2816, 0.3199, 0.3577, 0.3948, 0.4308, 0.4656, 0.4991, 0.5313, 0.562, 0.5912, 0.6189, 0.6452, 0.67, 0.6934, 0.7154, 0.7361, 0.7554, 0.7736, 0.7905, 0.8063, 0.821, 0.8347, 0.8475, 0.8594, 0.8704, 0.8806, 0.89, 0.8988, 0.9069, 0.9144, 0.9213, 0.9277, 0.9336, 0.939, 0.9441, 0.9487, 0.9529, 0.9569, 0.9605, 0.9638, 0.9668, 0.9696, 0.9722, 0.9745, 0.9767, 0.9787, 0.9805, 0.9822, 0.9837, 0.9851, 0.9864, 0.9876, 0.9887, 0.9896, 0.9905, 0.9914, 0.9921, 0.9928, 0.9934, 0.994, 0.9945, 0.995, 0.9955, 0.9959, 0.9962, 0.9966, 0.9969, 0.9971, 0.9974, 0.9976, 0.9978, 0.998, 0.9982, 0.9984, 0.9985, 0.9987, 0.9988, 0.9989, 0.999, 0.9991, 0.9992, 0.9992, 0.9993, 0.9994, 0.9994, 0.9995, 1); --spring-snappy-base: linear(0, 0.0052, 0.0195, 0.0413, 0.0692, 0.1018, 0.1382, 0.1773, 0.2183, 0.2604, 0.3031, 0.3458, 0.3881, 0.4297, 0.4702, 0.5094, 0.5471, 0.5833, 0.6177, 0.6503, 0.6812, 0.7102, 0.7374, 0.7627, 0.7864, 0.8083, 0.8286, 0.8472, 0.8644, 0.8801, 0.8945, 0.9076, 0.9195, 0.9302, 0.9399, 0.9486, 0.9564, 0.9634, 0.9696, 0.9751, 0.98, 0.9842, 0.988, 0.9912, 0.994, 0.9964, 0.9984, 1.0002, 1.0016, 1.0028, 1.0038, 1.0046, 1.0052, 1.0056, 1.0059, 1.0061, 1.0063, 1.0063, 1.0063, 1.0062, 1.006, 1.0058, 1.0056, 1.0054, 1.0052, 1.0049, 1.0046, 1.0044, 1.0041, 1.0038, 1.0036, 1.0033, 1.0031, 1.0028, 1.0026, 1.0024, 1.0022, 1.002, 1.0018, 1.0016, 1.0015, 1.0013, 1.0012, 1.0011, 1.001, 1.0008, 1.0007, 1.0007, 1.0006, 1.0005, 1.0004, 1.0004, 1.0003, 1.0003, 1.0002, 1.0002, 1); --spring-gesture-base: linear(0, 0.0052, 0.0196, 0.0417, 0.07, 0.1034, 0.1406, 0.1808, 0.2231, 0.2666, 0.3109, 0.3552, 0.3993, 0.4425, 0.4848, 0.5257, 0.5651, 0.6028, 0.6387, 0.6727, 0.7048, 0.7348, 0.763, 0.7891, 0.8134, 0.8358, 0.8564, 0.8753, 0.8925, 0.9082, 0.9223, 0.9351, 0.9465, 0.9567, 0.9658, 0.9738, 0.9809, 0.987, 0.9924, 0.997, 1.0009, 1.0042, 1.0069, 1.0092, 1.011, 1.0124, 1.0135, 1.0143, 1.0148, 1.0151, 1.0152, 1.0151, 1.0149, 1.0145, 1.0141, 1.0136, 1.013, 1.0124, 1.0118, 1.0111, 1.0105, 1.0098, 1.0091, 1.0085, 1.0078, 1.0072, 1.0066, 1.006, 1.0055, 1.005, 1.0045, 1.004, 1.0036, 1.0032, 1.0028, 1.0025, 1.0022, 1.0019, 1.0016, 1.0014, 1.0012, 1.001, 1.0008, 1.0007, 1.0005, 1.0004, 1.0003, 1.0002, 1.0001, 1, 1, 0.9999, 0.9999, 0.9999, 0.9998, 0.9998, 1); --spring-playful-base: linear(0, 0.0052, 0.0199, 0.0425, 0.0718, 0.1066, 0.1457, 0.1882, 0.2332, 0.2799, 0.3275, 0.3755, 0.4233, 0.4705, 0.5166, 0.5614, 0.6045, 0.6458, 0.6851, 0.7222, 0.7571, 0.7897, 0.82, 0.848, 0.8737, 0.8972, 0.9186, 0.9378, 0.9551, 0.9705, 0.9841, 0.996, 1.0063, 1.0151, 1.0226, 1.0288, 1.0339, 1.038, 1.0411, 1.0434, 1.0449, 1.0457, 1.046, 1.0458, 1.0451, 1.044, 1.0427, 1.0411, 1.0393, 1.0373, 1.0353, 1.0331, 1.0309, 1.0287, 1.0265, 1.0244, 1.0222, 1.0202, 1.0182, 1.0163, 1.0145, 1.0128, 1.0112, 1.0097, 1.0083, 1.007, 1.0058, 1.0047, 1.0038, 1.0029, 1.0021, 1.0014, 1.0007, 1.0002, 0.9997, 0.9993, 0.999, 0.9987, 0.9984, 0.9983, 0.9981, 0.998, 0.9979, 0.9979, 0.9979, 0.9979, 0.9979, 0.998, 0.998, 0.9981, 0.9982, 0.9983, 0.9984, 0.9985, 0.9986, 0.9987, 1); --spring-sheet-base: linear(0, 0.0048, 0.0179, 0.0378, 0.0633, 0.0931, 0.1262, 0.1618, 0.1991, 0.2375, 0.2764, 0.3155, 0.3542, 0.3924, 0.4297, 0.466, 0.501, 0.5348, 0.5671, 0.598, 0.6273, 0.6552, 0.6815, 0.7063, 0.7296, 0.7515, 0.772, 0.7911, 0.8089, 0.8255, 0.8409, 0.8551, 0.8683, 0.8805, 0.8917, 0.902, 0.9115, 0.9202, 0.9281, 0.9354, 0.9421, 0.9481, 0.9536, 0.9586, 0.9632, 0.9673, 0.971, 0.9744, 0.9774, 0.9801, 0.9826, 0.9848, 0.9868, 0.9885, 0.9901, 0.9915, 0.9927, 0.9938, 0.9948, 0.9956, 0.9964, 0.997, 0.9976, 0.9981, 0.9985, 0.9989, 0.9992, 0.9995, 0.9997, 0.9999, 1.0001, 1.0002, 1.0003, 1.0004, 1.0005, 1.0005, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0006, 1.0005, 1.0005, 1.0005, 1.0005, 1.0004, 1.0004, 1.0004, 1.0004, 1.0004, 1.0003, 1.0003, 1.0003, 1.0003, 1.0002, 1); --spring-morph-base: linear(0, 0.0061, 0.0229, 0.0483, 0.0803, 0.1176, 0.1587, 0.2023, 0.2477, 0.2938, 0.3401, 0.3859, 0.4309, 0.4745, 0.5166, 0.5569, 0.5952, 0.6315, 0.6657, 0.6978, 0.7277, 0.7555, 0.7812, 0.8049, 0.8267, 0.8467, 0.8649, 0.8815, 0.8965, 0.91, 0.9223, 0.9332, 0.943, 0.9517, 0.9594, 0.9663, 0.9723, 0.9776, 0.9821, 0.9861, 0.9896, 0.9925, 0.995, 0.9972, 0.9989, 1.0004, 1.0016, 1.0026, 1.0034, 1.0039, 1.0044, 1.0047, 1.0049, 1.005, 1.005, 1.005, 1.0049, 1.0048, 1.0046, 1.0044, 1.0042, 1.004, 1.0038, 1.0035, 1.0033, 1.0031, 1.0028, 1.0026, 1.0024, 1.0022, 1.002, 1.0018, 1.0017, 1.0015, 1.0014, 1.0012, 1.0011, 1.001, 1.0009, 1.0008, 1.0007, 1.0006, 1.0005, 1.0004, 1.0004, 1.0003, 1.0003, 1.0002, 1); --spring-press-base: linear(0, 0.006, 0.0229, 0.0487, 0.0818, 0.1207, 0.1642, 0.2109, 0.2599, 0.3103, 0.3612, 0.412, 0.4621, 0.511, 0.5583, 0.6037, 0.6469, 0.6878, 0.7262, 0.7621, 0.7954, 0.8261, 0.8543, 0.8799, 0.9031, 0.924, 0.9426, 0.9591, 0.9736, 0.9862, 0.9971, 1.0064, 1.0142, 1.0207, 1.026, 1.0302, 1.0334, 1.0357, 1.0372, 1.0381, 1.0384, 1.0382, 1.0376, 1.0366, 1.0354, 1.0339, 1.0322, 1.0305, 1.0286, 1.0266, 1.0247, 1.0227, 1.0208, 1.0189, 1.0171, 1.0154, 1.0137, 1.0121, 1.0106, 1.0092, 1.008, 1.0068, 1.0057, 1.0047, 1.0038, 1.003, 1.0023, 1.0016, 1.0011, 1.0006, 1.0001, 0.9998, 0.9995, 0.9992, 0.999, 0.9989, 0.9987, 0.9986, 0.9986, 0.9985, 0.9985, 0.9985, 0.9986, 0.9986, 0.9986, 0.9987, 0.9988, 0.9988, 0.9989, 1); }
:root[data-mc-personality="calm"] {
  --mc-tempo: 1; --mc-energy: 0.6; --mc-bounce-cap: 0.18; --exit-ratio: 0.5; /* 300 × 0.5 = the host's 150 ms exit */
  --dur-0: 0ms; --dur-100: 90ms; --dur-125: 140ms; --dur-150: 140ms; --dur-200: 200ms; --dur-250: 240ms; --dur-300: 300ms; --dur-400: 400ms; --dur-500: 500ms; --dur-600: 600ms; --dur-800: 600ms; --stagger-item: 40ms; --stagger-group: 100ms; --stagger-word: 80ms; --stagger-line: 100ms; --stagger-char: 30ms; --stagger-cap: 200ms; --spring-default-dur: 300ms; --spring-smooth-dur: 400ms; --spring-snappy-dur: 300ms; --spring-gesture-dur: 500ms; --spring-playful-dur: 600ms; --spring-sheet-dur: 500ms; --spring-morph-dur: 600ms; --spring-press-dur: 300ms;
  --calm-spring-snappy: linear(0, 0.0062, 0.0229, 0.0478, 0.0789, 0.1145, 0.1534, 0.1943, 0.2363, 0.2788, 0.3211, 0.3627, 0.4033, 0.4427, 0.4805, 0.5168, 0.5513, 0.584, 0.615, 0.6441, 0.6714, 0.6971, 0.721, 0.7433, 0.7641, 0.7834, 0.8013, 0.8179, 0.8332, 0.8473, 0.8604, 0.8724, 0.8834, 0.8936, 0.9029, 0.9115, 0.9193, 0.9265, 0.9331, 0.9391, 0.9446, 0.9497, 0.9542, 0.9584, 0.9622, 0.9657, 0.9689, 0.9718, 0.9744, 0.9768, 0.979, 0.9809, 0.9827, 0.9844, 0.9858, 0.9872, 0.9884, 0.9895, 0.9905, 0.9914, 0.9922, 0.993, 0.9937, 0.9943, 0.9948, 0.9953, 0.9958, 0.9962, 1); --calm-spring-smooth: linear(0, 0.0061, 0.0228, 0.048, 0.0798, 0.1165, 0.1568, 0.1996, 0.2439, 0.2888, 0.3339, 0.3784, 0.4219, 0.4642, 0.505, 0.544, 0.5812, 0.6164, 0.6495, 0.6807, 0.7098, 0.7369, 0.7621, 0.7854, 0.8069, 0.8267, 0.8449, 0.8615, 0.8766, 0.8904, 0.9029, 0.9143, 0.9245, 0.9337, 0.942, 0.9495, 0.9561, 0.962, 0.9673, 0.972, 0.9761, 0.9798, 0.983, 0.9858, 0.9883, 0.9904, 0.9923, 0.9939, 0.9952, 0.9964, 0.9974, 0.9982, 0.999, 0.9995, 1, 1.0004, 1.0007, 1.001, 1.0012, 1.0013, 1.0014, 1); --calm-spring-sheet: linear(0, 0.0056, 0.0209, 0.0442, 0.0738, 0.1081, 0.1462, 0.1868, 0.2291, 0.2724, 0.316, 0.3594, 0.4021, 0.4438, 0.4843, 0.5232, 0.5605, 0.5961, 0.6298, 0.6616, 0.6915, 0.7196, 0.7457, 0.7701, 0.7927, 0.8136, 0.8328, 0.8505, 0.8667, 0.8815, 0.8951, 0.9074, 0.9185, 0.9286, 0.9377, 0.9459, 0.9532, 0.9598, 0.9656, 0.9708, 0.9754, 0.9795, 0.9831, 0.9862, 0.9889, 0.9913, 0.9934, 0.9951, 0.9967, 0.9979, 0.999, 0.9999, 1.0007, 1.0013, 1.0018, 1.0022, 1.0025, 1.0027, 1.0028, 1.0029, 1); --calm-spring-gentle: linear(0, 0.0056, 0.0211, 0.0447, 0.0749, 0.1102, 0.1494, 0.1914, 0.2353, 0.2804, 0.3259, 0.3713, 0.4161, 0.46, 0.5025, 0.5434, 0.5827, 0.62, 0.6554, 0.6887, 0.72, 0.7491, 0.7763, 0.8014, 0.8246, 0.8458, 0.8653, 0.8831, 0.8992, 0.9138, 0.9269, 0.9387, 0.9492, 0.9585, 0.9668, 0.974, 0.9804, 0.9859, 0.9907, 0.9948, 0.9983, 1.0012, 1.0037, 1.0057, 1.0073, 1.0085, 1.0095, 1.0102, 1.0107, 1.011, 1.0111, 1.0111, 1.0109, 1.0107, 1.0104, 1.01, 1.0096, 1.0091, 1.0086, 1.0081, 1.0076, 1.0071, 1.0066, 1.0061, 1.0057, 1.0052, 1.0048, 1.0043, 1.0039, 1.0036, 1.0032, 1.0029, 1);
  --spring-default: var(--calm-spring-snappy);
  --spring-smooth: var(--calm-spring-smooth);
  --spring-snappy: var(--calm-spring-snappy);
  --spring-gesture: var(--calm-spring-sheet);
  --spring-playful: var(--calm-spring-gentle);
  --spring-sheet: var(--calm-spring-sheet);
  --spring-morph: var(--calm-spring-gentle);
  --spring-press: var(--calm-spring-snappy);
  --spring-m3-spatial-fast: var(--calm-spring-snappy); --spring-m3-spatial-fast-dur: 300ms; --spring-m3-spatial-fast-stiffness: 685.4; --spring-m3-spatial-fast-damping: 1;
  --spring-m3-spatial-default: var(--calm-spring-smooth); --spring-m3-spatial-default-dur: 400ms; --spring-m3-spatial-default-stiffness: 304.6; --spring-m3-spatial-default-damping: 0.9;
  --spring-m3-spatial-slow: var(--calm-spring-sheet); --spring-m3-spatial-slow-dur: 500ms; --spring-m3-spatial-slow-stiffness: 171.3; --spring-m3-spatial-slow-damping: 0.88;
  --spring-m3-effects-fast: var(--ease-out); --spring-m3-effects-fast-dur: 140ms;
  --spring-m3-effects-default: var(--ease-out); --spring-m3-effects-default-dur: 200ms;
  --spring-m3-effects-slow: var(--ease-out); --spring-m3-effects-slow-dur: 300ms;
}
:root[data-mc-personality="product"] {
  --mc-tempo: 1; --mc-energy: 1; --mc-bounce-cap: 0;
}
:root[data-mc-personality="showcase"] {
  --mc-tempo: 1.25; --mc-energy: 1.15; --mc-bounce-cap: 0.15;
  --dur-0: 0ms; --dur-100: 125ms; --dur-125: 156ms; --dur-150: 188ms; --dur-200: 250ms; --dur-250: 312ms; --dur-300: 375ms; --dur-400: 500ms; --dur-500: 625ms; --dur-600: 750ms; --dur-800: 1000ms; --stagger-item: 62ms; --stagger-group: 125ms; --stagger-word: 100ms; --stagger-line: 125ms; --stagger-char: 38ms; --stagger-cap: 750ms; --spring-default-dur: 600ms; --spring-smooth-dur: 1000ms; --spring-snappy-dur: 1000ms; --spring-gesture-dur: 1000ms; --spring-playful-dur: 1000ms; --spring-sheet-dur: 1040ms; --spring-morph-dur: 900ms; --spring-press-dur: 500ms;
  --spring-default: var(--spring-snappy-base); --spring-default-dur: 1000ms;
}
:root[data-mc-personality="playful"] {
  --mc-tempo: 1.4; --mc-energy: 1.3; --mc-bounce-cap: 0.3;
  --dur-0: 0ms; --dur-100: 140ms; --dur-125: 175ms; --dur-150: 210ms; --dur-200: 280ms; --dur-250: 350ms; --dur-300: 420ms; --dur-400: 560ms; --dur-500: 700ms; --dur-600: 840ms; --dur-800: 1120ms; --stagger-item: 70ms; --stagger-group: 140ms; --stagger-word: 112ms; --stagger-line: 140ms; --stagger-char: 42ms; --stagger-cap: 840ms; --spring-default-dur: 672ms; --spring-smooth-dur: 1120ms; --spring-snappy-dur: 1120ms; --spring-gesture-dur: 1120ms; --spring-playful-dur: 1120ms; --spring-sheet-dur: 1165ms; --spring-morph-dur: 1008ms; --spring-press-dur: 560ms;
  --spring-default: var(--spring-snappy-base); --spring-default-dur: 1120ms;
  --spring-snappy: var(--spring-playful-base); --spring-snappy-dur: 1120ms;
}
/* product ruleset entries put data-mc-ruleset="product" on their root: personality can shorten them, never lengthen past 300 ms or add overshoot */
[data-mc-ruleset="product"] {
  --dur-0: min(calc(0ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-100: min(calc(100ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-125: min(calc(125ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-150: min(calc(150ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-200: min(calc(200ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-250: min(calc(250ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-300: min(calc(300ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-400: min(calc(400ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 400ms);
  --dur-500: min(calc(500ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 500ms);
  --dur-600: min(calc(600ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 600ms);
  --dur-800: min(calc(800ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 800ms);
  --stagger-item: min(calc(50ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 50ms);
  --stagger-group: min(calc(100ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 100ms);
  --stagger-word: min(calc(80ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 80ms);
  --stagger-line: min(calc(100ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 100ms);
  --stagger-char: min(calc(30ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 30ms);
  --stagger-cap: min(calc(600ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 600ms);
  --spring-default-dur: min(calc(480ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 480ms);
  --spring-smooth-dur: min(calc(800ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 800ms);
  --spring-snappy-dur: min(calc(800ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 800ms);
  --spring-gesture-dur: min(calc(800ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 800ms);
  --spring-playful-dur: min(calc(800ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 800ms);
  --spring-sheet-dur: min(calc(832ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 832ms);
  --spring-morph-dur: min(calc(720ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 720ms);
  --spring-press-dur: min(calc(400ms * var(--mc-tempo) / max(var(--mc-speed, 1), 0.25)), 400ms);
  --spring-default: var(--spring-default-base); --spring-smooth: var(--spring-smooth-base); --spring-snappy: var(--spring-snappy-base); --spring-gesture: var(--spring-gesture-base); --spring-playful: var(--spring-playful-base); --spring-sheet: var(--spring-sheet-base); --spring-morph: var(--spring-morph-base); --spring-press: var(--spring-press-base);
}
/* calm ruleset: the same ladder, and the product rule still holds: a role whose host spring would add overshoot steps down to one that does not */
:root[data-mc-personality="calm"] [data-mc-ruleset="product"] {
  --dur-0: min(calc(0ms / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-100: min(calc(90ms / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-125: min(calc(140ms / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-150: min(calc(140ms / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-200: min(calc(200ms / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-250: min(calc(240ms / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-300: min(calc(300ms / max(var(--mc-speed, 1), 0.25)), 300ms);
  --dur-400: min(calc(400ms / max(var(--mc-speed, 1), 0.25)), 400ms);
  --dur-500: min(calc(500ms / max(var(--mc-speed, 1), 0.25)), 500ms);
  --dur-600: min(calc(600ms / max(var(--mc-speed, 1), 0.25)), 600ms);
  --dur-800: min(calc(600ms / max(var(--mc-speed, 1), 0.25)), 800ms);
  --stagger-item: min(calc(40ms / max(var(--mc-speed, 1), 0.25)), 50ms);
  --stagger-group: min(calc(100ms / max(var(--mc-speed, 1), 0.25)), 100ms);
  --stagger-word: min(calc(80ms / max(var(--mc-speed, 1), 0.25)), 80ms);
  --stagger-line: min(calc(100ms / max(var(--mc-speed, 1), 0.25)), 100ms);
  --stagger-char: min(calc(30ms / max(var(--mc-speed, 1), 0.25)), 30ms);
  --stagger-cap: min(calc(200ms / max(var(--mc-speed, 1), 0.25)), 600ms);
  --spring-default-dur: min(calc(300ms / max(var(--mc-speed, 1), 0.25)), 480ms);
  --spring-smooth-dur: min(calc(300ms / max(var(--mc-speed, 1), 0.25)), 800ms);
  --spring-snappy-dur: min(calc(300ms / max(var(--mc-speed, 1), 0.25)), 800ms);
  --spring-gesture-dur: min(calc(500ms / max(var(--mc-speed, 1), 0.25)), 800ms);
  --spring-playful-dur: min(calc(600ms / max(var(--mc-speed, 1), 0.25)), 800ms);
  --spring-sheet-dur: min(calc(300ms / max(var(--mc-speed, 1), 0.25)), 832ms);
  --spring-morph-dur: min(calc(500ms / max(var(--mc-speed, 1), 0.25)), 720ms);
  --spring-press-dur: min(calc(300ms / max(var(--mc-speed, 1), 0.25)), 400ms);
  --spring-default: var(--calm-spring-snappy); --spring-smooth: var(--calm-spring-snappy); --spring-snappy: var(--calm-spring-snappy); --spring-gesture: var(--calm-spring-sheet); --spring-playful: var(--calm-spring-gentle); --spring-sheet: var(--calm-spring-snappy); --spring-morph: var(--calm-spring-sheet); --spring-press: var(--calm-spring-snappy);
}
/* v4 motion settings: --mc-speed (duration ÷ speed, 0.25–1+) and --mc-intensity (× travel), applied once written on <html> */
:root { --mc-speed: 1; --mc-intensity: 1; }
@media not (prefers-reduced-motion: reduce) {
  :root:is([style*="--mc-speed"], [style*="--mc-intensity"], [data-mc-speed]):not([data-mc-motion="reduce"]):not([data-mc-motion="none"]) {
    --dur-0: calc(0ms / max(var(--mc-speed, 1), 0.25)); --dur-100: calc(100ms / max(var(--mc-speed, 1), 0.25)); --dur-125: calc(125ms / max(var(--mc-speed, 1), 0.25)); --dur-150: calc(150ms / max(var(--mc-speed, 1), 0.25)); --dur-200: calc(200ms / max(var(--mc-speed, 1), 0.25)); --dur-250: calc(250ms / max(var(--mc-speed, 1), 0.25)); --dur-300: calc(300ms / max(var(--mc-speed, 1), 0.25)); --dur-400: calc(400ms / max(var(--mc-speed, 1), 0.25)); --dur-500: calc(500ms / max(var(--mc-speed, 1), 0.25)); --dur-600: calc(600ms / max(var(--mc-speed, 1), 0.25)); --dur-800: calc(800ms / max(var(--mc-speed, 1), 0.25)); --stagger-item: calc(50ms / max(var(--mc-speed, 1), 0.25)); --stagger-group: calc(100ms / max(var(--mc-speed, 1), 0.25)); --stagger-word: calc(80ms / max(var(--mc-speed, 1), 0.25)); --stagger-line: calc(100ms / max(var(--mc-speed, 1), 0.25)); --stagger-char: calc(30ms / max(var(--mc-speed, 1), 0.25)); --stagger-cap: calc(600ms / max(var(--mc-speed, 1), 0.25)); --spring-default-dur: calc(480ms / max(var(--mc-speed, 1), 0.25)); --spring-smooth-dur: calc(800ms / max(var(--mc-speed, 1), 0.25)); --spring-snappy-dur: calc(800ms / max(var(--mc-speed, 1), 0.25)); --spring-gesture-dur: calc(800ms / max(var(--mc-speed, 1), 0.25)); --spring-playful-dur: calc(800ms / max(var(--mc-speed, 1), 0.25)); --spring-sheet-dur: calc(832ms / max(var(--mc-speed, 1), 0.25)); --spring-morph-dur: calc(720ms / max(var(--mc-speed, 1), 0.25)); --spring-press-dur: calc(400ms / max(var(--mc-speed, 1), 0.25));
    --travel-enter: calc(12px * var(--mc-intensity)); --travel-lift: calc(2px * var(--mc-intensity)); --travel-stack: calc(14px * var(--mc-intensity)); --travel-page: calc(24px * var(--mc-intensity));
  }
  :root[data-mc-personality="calm"]:is([style*="--mc-speed"], [style*="--mc-intensity"], [data-mc-speed]):not([data-mc-motion="reduce"]):not([data-mc-motion="none"]) {
    --dur-0: calc(0ms / max(var(--mc-speed, 1), 0.25)); --dur-100: calc(90ms / max(var(--mc-speed, 1), 0.25)); --dur-125: calc(140ms / max(var(--mc-speed, 1), 0.25)); --dur-150: calc(140ms / max(var(--mc-speed, 1), 0.25)); --dur-200: calc(200ms / max(var(--mc-speed, 1), 0.25)); --dur-250: calc(240ms / max(var(--mc-speed, 1), 0.25)); --dur-300: calc(300ms / max(var(--mc-speed, 1), 0.25)); --dur-400: calc(400ms / max(var(--mc-speed, 1), 0.25)); --dur-500: calc(500ms / max(var(--mc-speed, 1), 0.25)); --dur-600: calc(600ms / max(var(--mc-speed, 1), 0.25)); --dur-800: calc(600ms / max(var(--mc-speed, 1), 0.25)); --stagger-item: calc(40ms / max(var(--mc-speed, 1), 0.25)); --stagger-group: calc(100ms / max(var(--mc-speed, 1), 0.25)); --stagger-word: calc(80ms / max(var(--mc-speed, 1), 0.25)); --stagger-line: calc(100ms / max(var(--mc-speed, 1), 0.25)); --stagger-char: calc(30ms / max(var(--mc-speed, 1), 0.25)); --stagger-cap: calc(200ms / max(var(--mc-speed, 1), 0.25)); --spring-default-dur: calc(300ms / max(var(--mc-speed, 1), 0.25)); --spring-smooth-dur: calc(400ms / max(var(--mc-speed, 1), 0.25)); --spring-snappy-dur: calc(300ms / max(var(--mc-speed, 1), 0.25)); --spring-gesture-dur: calc(500ms / max(var(--mc-speed, 1), 0.25)); --spring-playful-dur: calc(600ms / max(var(--mc-speed, 1), 0.25)); --spring-sheet-dur: calc(500ms / max(var(--mc-speed, 1), 0.25)); --spring-morph-dur: calc(600ms / max(var(--mc-speed, 1), 0.25)); --spring-press-dur: calc(300ms / max(var(--mc-speed, 1), 0.25));
  }
  :root[data-mc-personality="product"]:is([style*="--mc-speed"], [style*="--mc-intensity"], [data-mc-speed]):not([data-mc-motion="reduce"]):not([data-mc-motion="none"]) {
    --dur-0: calc(0ms / max(var(--mc-speed, 1), 0.25)); --dur-100: calc(100ms / max(var(--mc-speed, 1), 0.25)); --dur-125: calc(125ms / max(var(--mc-speed, 1), 0.25)); --dur-150: calc(150ms / max(var(--mc-speed, 1), 0.25)); --dur-200: calc(200ms / max(var(--mc-speed, 1), 0.25)); --dur-250: calc(250ms / max(var(--mc-speed, 1), 0.25)); --dur-300: calc(300ms / max(var(--mc-speed, 1), 0.25)); --dur-400: calc(400ms / max(var(--mc-speed, 1), 0.25)); --dur-500: calc(500ms / max(var(--mc-speed, 1), 0.25)); --dur-600: calc(600ms / max(var(--mc-speed, 1), 0.25)); --dur-800: calc(800ms / max(var(--mc-speed, 1), 0.25)); --stagger-item: calc(50ms / max(var(--mc-speed, 1), 0.25)); --stagger-group: calc(100ms / max(var(--mc-speed, 1), 0.25)); --stagger-word: calc(80ms / max(var(--mc-speed, 1), 0.25)); --stagger-line: calc(100ms / max(var(--mc-speed, 1), 0.25)); --stagger-char: calc(30ms / max(var(--mc-speed, 1), 0.25)); --stagger-cap: calc(600ms / max(var(--mc-speed, 1), 0.25)); --spring-default-dur: calc(480ms / max(var(--mc-speed, 1), 0.25)); --spring-smooth-dur: calc(800ms / max(var(--mc-speed, 1), 0.25)); --spring-snappy-dur: calc(800ms / max(var(--mc-speed, 1), 0.25)); --spring-gesture-dur: calc(800ms / max(var(--mc-speed, 1), 0.25)); --spring-playful-dur: calc(800ms / max(var(--mc-speed, 1), 0.25)); --spring-sheet-dur: calc(832ms / max(var(--mc-speed, 1), 0.25)); --spring-morph-dur: calc(720ms / max(var(--mc-speed, 1), 0.25)); --spring-press-dur: calc(400ms / max(var(--mc-speed, 1), 0.25));
  }
  :root[data-mc-personality="showcase"]:is([style*="--mc-speed"], [style*="--mc-intensity"], [data-mc-speed]):not([data-mc-motion="reduce"]):not([data-mc-motion="none"]) {
    --dur-0: calc(0ms / max(var(--mc-speed, 1), 0.25)); --dur-100: calc(125ms / max(var(--mc-speed, 1), 0.25)); --dur-125: calc(156ms / max(var(--mc-speed, 1), 0.25)); --dur-150: calc(188ms / max(var(--mc-speed, 1), 0.25)); --dur-200: calc(250ms / max(var(--mc-speed, 1), 0.25)); --dur-250: calc(312ms / max(var(--mc-speed, 1), 0.25)); --dur-300: calc(375ms / max(var(--mc-speed, 1), 0.25)); --dur-400: calc(500ms / max(var(--mc-speed, 1), 0.25)); --dur-500: calc(625ms / max(var(--mc-speed, 1), 0.25)); --dur-600: calc(750ms / max(var(--mc-speed, 1), 0.25)); --dur-800: calc(1000ms / max(var(--mc-speed, 1), 0.25)); --stagger-item: calc(62ms / max(var(--mc-speed, 1), 0.25)); --stagger-group: calc(125ms / max(var(--mc-speed, 1), 0.25)); --stagger-word: calc(100ms / max(var(--mc-speed, 1), 0.25)); --stagger-line: calc(125ms / max(var(--mc-speed, 1), 0.25)); --stagger-char: calc(38ms / max(var(--mc-speed, 1), 0.25)); --stagger-cap: calc(750ms / max(var(--mc-speed, 1), 0.25)); --spring-default-dur: calc(600ms / max(var(--mc-speed, 1), 0.25)); --spring-smooth-dur: calc(1000ms / max(var(--mc-speed, 1), 0.25)); --spring-snappy-dur: calc(1000ms / max(var(--mc-speed, 1), 0.25)); --spring-gesture-dur: calc(1000ms / max(var(--mc-speed, 1), 0.25)); --spring-playful-dur: calc(1000ms / max(var(--mc-speed, 1), 0.25)); --spring-sheet-dur: calc(1040ms / max(var(--mc-speed, 1), 0.25)); --spring-morph-dur: calc(900ms / max(var(--mc-speed, 1), 0.25)); --spring-press-dur: calc(500ms / max(var(--mc-speed, 1), 0.25)); --spring-default-dur: calc(1000ms / max(var(--mc-speed, 1), 0.25));
  }
  :root[data-mc-personality="playful"]:is([style*="--mc-speed"], [style*="--mc-intensity"], [data-mc-speed]):not([data-mc-motion="reduce"]):not([data-mc-motion="none"]) {
    --dur-0: calc(0ms / max(var(--mc-speed, 1), 0.25)); --dur-100: calc(140ms / max(var(--mc-speed, 1), 0.25)); --dur-125: calc(175ms / max(var(--mc-speed, 1), 0.25)); --dur-150: calc(210ms / max(var(--mc-speed, 1), 0.25)); --dur-200: calc(280ms / max(var(--mc-speed, 1), 0.25)); --dur-250: calc(350ms / max(var(--mc-speed, 1), 0.25)); --dur-300: calc(420ms / max(var(--mc-speed, 1), 0.25)); --dur-400: calc(560ms / max(var(--mc-speed, 1), 0.25)); --dur-500: calc(700ms / max(var(--mc-speed, 1), 0.25)); --dur-600: calc(840ms / max(var(--mc-speed, 1), 0.25)); --dur-800: calc(1120ms / max(var(--mc-speed, 1), 0.25)); --stagger-item: calc(70ms / max(var(--mc-speed, 1), 0.25)); --stagger-group: calc(140ms / max(var(--mc-speed, 1), 0.25)); --stagger-word: calc(112ms / max(var(--mc-speed, 1), 0.25)); --stagger-line: calc(140ms / max(var(--mc-speed, 1), 0.25)); --stagger-char: calc(42ms / max(var(--mc-speed, 1), 0.25)); --stagger-cap: calc(840ms / max(var(--mc-speed, 1), 0.25)); --spring-default-dur: calc(672ms / max(var(--mc-speed, 1), 0.25)); --spring-smooth-dur: calc(1120ms / max(var(--mc-speed, 1), 0.25)); --spring-snappy-dur: calc(1120ms / max(var(--mc-speed, 1), 0.25)); --spring-gesture-dur: calc(1120ms / max(var(--mc-speed, 1), 0.25)); --spring-playful-dur: calc(1120ms / max(var(--mc-speed, 1), 0.25)); --spring-sheet-dur: calc(1165ms / max(var(--mc-speed, 1), 0.25)); --spring-morph-dur: calc(1008ms / max(var(--mc-speed, 1), 0.25)); --spring-press-dur: calc(560ms / max(var(--mc-speed, 1), 0.25)); --spring-default-dur: calc(1120ms / max(var(--mc-speed, 1), 0.25)); --spring-snappy-dur: calc(1120ms / max(var(--mc-speed, 1), 0.25));
  }
}
@media (prefers-reduced-motion: reduce) {
  :root, :root[data-mc-personality], [data-mc-ruleset] {
    /* motion becomes a short crossfade (≤ 200 ms); entries must also drop transforms */
    --dur-100: 0ms; --dur-125: 0ms; --dur-150: 120ms; --dur-200: 150ms; --dur-250: 150ms; --dur-300: 180ms; --dur-400: 200ms; --dur-500: 200ms; --dur-600: 200ms; --dur-800: 200ms;
    --spring-default: ease-out; --spring-smooth: ease-out; --spring-snappy: ease-out; --spring-gesture: ease-out; --spring-playful: ease-out; --spring-sheet: ease-out;
    --spring-default-dur: 150ms; --spring-smooth-dur: 180ms; --spring-snappy-dur: 180ms; --spring-gesture-dur: 180ms; --spring-playful-dur: 180ms; --spring-sheet-dur: 180ms;
    --scale-press: 1; --scale-enter: 1; --scale-icon-from: 1; --scale-stack-step: 0; --scale-card-back: 1;
    --travel-enter: 0px; --travel-lift: 0px; --travel-stack: 0px; --travel-page: 0px;
    --blur-crossfade: 0px; --blur-text-in: 0px; /* --blur-depth-cap stays: depth blur is static, not motion */
    --stagger-item: 0ms; --stagger-group: 0ms; --stagger-word: 0ms; --stagger-line: 0ms; --stagger-char: 0ms;
    --gesture-magnet-strength: 0; --gesture-tilt-cap: 0;
  }
  /* calm: the host's reduced mapping instead (on its ladder: a 150 ms crossfade; short feedback lands at once) */
  :root[data-mc-personality="calm"], :root[data-mc-personality="calm"] [data-mc-ruleset] {
    --dur-0: 0ms; --dur-100: 0ms; --dur-125: 0ms; --dur-150: 150ms; --dur-200: 150ms; --dur-250: 150ms; --dur-300: 150ms; --dur-400: 150ms; --dur-500: 150ms; --dur-600: 150ms; --dur-800: 150ms; --exit-ratio: 1; /* a composed exit is the same crossfade */
    --spring-default: ease-out; --spring-default-dur: 150ms; --spring-smooth: ease-out; --spring-smooth-dur: 150ms; --spring-snappy: ease-out; --spring-snappy-dur: 150ms; --spring-gesture: ease-out; --spring-gesture-dur: 150ms; --spring-playful: ease-out; --spring-playful-dur: 150ms; --spring-sheet: ease-out; --spring-sheet-dur: 150ms; --spring-morph: ease-out; --spring-morph-dur: 150ms; --spring-press: ease-out; --spring-press-dur: 150ms;
    --spring-m3-spatial-fast: ease-out; --spring-m3-spatial-fast-dur: 150ms; --spring-m3-spatial-default: ease-out; --spring-m3-spatial-default-dur: 150ms; --spring-m3-spatial-slow: ease-out; --spring-m3-spatial-slow-dur: 150ms; --spring-m3-effects-fast: ease-out; --spring-m3-effects-fast-dur: 150ms; --spring-m3-effects-default: ease-out; --spring-m3-effects-default-dur: 150ms; --spring-m3-effects-slow: ease-out; --spring-m3-effects-slow-dur: 150ms;
    --stagger-item: 0ms; --stagger-group: 0ms; --stagger-word: 0ms; --stagger-line: 0ms; --stagger-char: 0ms;
  }
}
/* forced reduced motion: <html data-mc-motion="reduce"> (kinetic.prefs() reports it too) */
:root[data-mc-motion="reduce"], :root[data-mc-motion="reduce"] [data-mc-ruleset] {
    /* motion becomes a short crossfade (≤ 200 ms); entries must also drop transforms */
    --dur-100: 0ms; --dur-125: 0ms; --dur-150: 120ms; --dur-200: 150ms; --dur-250: 150ms; --dur-300: 180ms; --dur-400: 200ms; --dur-500: 200ms; --dur-600: 200ms; --dur-800: 200ms;
    --spring-default: ease-out; --spring-smooth: ease-out; --spring-snappy: ease-out; --spring-gesture: ease-out; --spring-playful: ease-out; --spring-sheet: ease-out;
    --spring-default-dur: 150ms; --spring-smooth-dur: 180ms; --spring-snappy-dur: 180ms; --spring-gesture-dur: 180ms; --spring-playful-dur: 180ms; --spring-sheet-dur: 180ms;
    --scale-press: 1; --scale-enter: 1; --scale-icon-from: 1; --scale-stack-step: 0; --scale-card-back: 1;
    --travel-enter: 0px; --travel-lift: 0px; --travel-stack: 0px; --travel-page: 0px;
    --blur-crossfade: 0px; --blur-text-in: 0px; /* --blur-depth-cap stays: depth blur is static, not motion */
    --stagger-item: 0ms; --stagger-group: 0ms; --stagger-word: 0ms; --stagger-line: 0ms; --stagger-char: 0ms;
    --gesture-magnet-strength: 0; --gesture-tilt-cap: 0;
}
/* calm under the forced switch: the same host mapping */
:root[data-mc-personality="calm"][data-mc-motion="reduce"], :root[data-mc-personality="calm"][data-mc-motion="reduce"] [data-mc-ruleset] {
  --dur-0: 0ms; --dur-100: 0ms; --dur-125: 0ms; --dur-150: 150ms; --dur-200: 150ms; --dur-250: 150ms; --dur-300: 150ms; --dur-400: 150ms; --dur-500: 150ms; --dur-600: 150ms; --dur-800: 150ms; --exit-ratio: 1; /* a composed exit is the same crossfade */
  --spring-default: ease-out; --spring-default-dur: 150ms; --spring-smooth: ease-out; --spring-smooth-dur: 150ms; --spring-snappy: ease-out; --spring-snappy-dur: 150ms; --spring-gesture: ease-out; --spring-gesture-dur: 150ms; --spring-playful: ease-out; --spring-playful-dur: 150ms; --spring-sheet: ease-out; --spring-sheet-dur: 150ms; --spring-morph: ease-out; --spring-morph-dur: 150ms; --spring-press: ease-out; --spring-press-dur: 150ms;
  --spring-m3-spatial-fast: ease-out; --spring-m3-spatial-fast-dur: 150ms; --spring-m3-spatial-default: ease-out; --spring-m3-spatial-default-dur: 150ms; --spring-m3-spatial-slow: ease-out; --spring-m3-spatial-slow-dur: 150ms; --spring-m3-effects-fast: ease-out; --spring-m3-effects-fast-dur: 150ms; --spring-m3-effects-default: ease-out; --spring-m3-effects-default-dur: 150ms; --spring-m3-effects-slow: ease-out; --spring-m3-effects-slow-dur: 150ms;
  --stagger-item: 0ms; --stagger-group: 0ms; --stagger-word: 0ms; --stagger-line: 0ms; --stagger-char: 0ms;
}
/* motion "none" (explicit choice only, never inferred): every duration, stagger, travel and blur is zero; state lands in one frame */
:root[data-mc-motion="none"], :root[data-mc-motion="none"] [data-mc-ruleset] {
  --dur-0: 0ms; --dur-100: 0ms; --dur-125: 0ms; --dur-150: 0ms; --dur-200: 0ms; --dur-250: 0ms; --dur-300: 0ms; --dur-400: 0ms; --dur-500: 0ms; --dur-600: 0ms; --dur-800: 0ms; --stagger-item: 0ms; --stagger-group: 0ms; --stagger-word: 0ms; --stagger-line: 0ms; --stagger-char: 0ms; --stagger-cap: 0ms; --spring-default-dur: 0ms; --spring-smooth-dur: 0ms; --spring-snappy-dur: 0ms; --spring-gesture-dur: 0ms; --spring-playful-dur: 0ms; --spring-sheet-dur: 0ms; --spring-morph-dur: 0ms; --spring-press-dur: 0ms; --spring-m3-spatial-fast-dur: 0ms; --spring-m3-spatial-default-dur: 0ms; --spring-m3-spatial-slow-dur: 0ms; --spring-m3-effects-fast-dur: 0ms; --spring-m3-effects-default-dur: 0ms; --spring-m3-effects-slow-dur: 0ms; --travel-enter: 0px; --travel-lift: 0px; --travel-stack: 0px; --travel-page: 0px; --blur-crossfade: 0px; --blur-text-in: 0px; --blur-depth-cap: 0px;
  --mc-tempo: 0;
}
/* W1 scene accents (BAR-premium F2): <html data-scene-accent="ember|saffron|moss|tide|cobalt|orchid"> or on any wrapper.
   Each light/dark pair is AA (≥ 4.5:1) as text on bg, surface and surface-2, and accent-fg is AA on the accent (ratios in tokens.js). */
:is(:root, *)[data-scene-accent="ember"] { --mc-accent: #b93a02; --mc-accent-fg: #ffffff; --mc-accent-l: 0.53; --mc-brand: #b93a02; } /* AA 5.08 */
:root[data-theme="dark"][data-scene-accent="ember"], :root[data-theme="dark"] [data-scene-accent="ember"] { --mc-accent: #fe8e6b; --mc-accent-fg: #141418; --mc-accent-l: 0.76; } /* AA 7.28 */
:is(:root, *)[data-scene-accent="saffron"] { --mc-accent: #935f03; --mc-accent-fg: #ffffff; --mc-accent-l: 0.53; --mc-brand: #935f03; } /* AA 4.79 */
:root[data-theme="dark"][data-scene-accent="saffron"], :root[data-theme="dark"] [data-scene-accent="saffron"] { --mc-accent: #ef9d01; --mc-accent-fg: #141418; --mc-accent-l: 0.76; } /* AA 7.55 */
:is(:root, *)[data-scene-accent="moss"] { --mc-accent: #017f31; --mc-accent-fg: #ffffff; --mc-accent-l: 0.52; --mc-brand: #017f31; } /* AA 4.51 */
:root[data-theme="dark"][data-scene-accent="moss"], :root[data-theme="dark"] [data-scene-accent="moss"] { --mc-accent: #5fcc74; --mc-accent-fg: #141418; --mc-accent-l: 0.76; } /* AA 8.29 */
:is(:root, *)[data-scene-accent="tide"] { --mc-accent: #09797e; --mc-accent-fg: #ffffff; --mc-accent-l: 0.525; --mc-brand: #09797e; } /* AA 4.53 */
:root[data-theme="dark"][data-scene-accent="tide"], :root[data-theme="dark"] [data-scene-accent="tide"] { --mc-accent: #11c9d1; --mc-accent-fg: #141418; --mc-accent-l: 0.76; } /* AA 8.21 */
:is(:root, *)[data-scene-accent="cobalt"] { --mc-accent: #0265d9; --mc-accent-fg: #ffffff; --mc-accent-l: 0.53; --mc-brand: #0265d9; } /* AA 4.82 */
:root[data-theme="dark"][data-scene-accent="cobalt"], :root[data-theme="dark"] [data-scene-accent="cobalt"] { --mc-accent: #7fb3fe; --mc-accent-fg: #141418; --mc-accent-l: 0.76; } /* AA 7.78 */
:is(:root, *)[data-scene-accent="orchid"] { --mc-accent: #b12195; --mc-accent-fg: #ffffff; --mc-accent-l: 0.53; --mc-brand: #b12195; } /* AA 5.28 */
:root[data-theme="dark"][data-scene-accent="orchid"], :root[data-theme="dark"] [data-scene-accent="orchid"] { --mc-accent: #fe77dc; --mc-accent-fg: #141418; --mc-accent-l: 0.76; } /* AA 6.97 */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"])[data-scene-accent="ember"], :root:not([data-theme="light"]) [data-scene-accent="ember"] { --mc-accent: #fe8e6b; --mc-accent-fg: #141418; --mc-accent-l: 0.76; }
  :root:not([data-theme="light"])[data-scene-accent="saffron"], :root:not([data-theme="light"]) [data-scene-accent="saffron"] { --mc-accent: #ef9d01; --mc-accent-fg: #141418; --mc-accent-l: 0.76; }
  :root:not([data-theme="light"])[data-scene-accent="moss"], :root:not([data-theme="light"]) [data-scene-accent="moss"] { --mc-accent: #5fcc74; --mc-accent-fg: #141418; --mc-accent-l: 0.76; }
  :root:not([data-theme="light"])[data-scene-accent="tide"], :root:not([data-theme="light"]) [data-scene-accent="tide"] { --mc-accent: #11c9d1; --mc-accent-fg: #141418; --mc-accent-l: 0.76; }
  :root:not([data-theme="light"])[data-scene-accent="cobalt"], :root:not([data-theme="light"]) [data-scene-accent="cobalt"] { --mc-accent: #7fb3fe; --mc-accent-fg: #141418; --mc-accent-l: 0.76; }
  :root:not([data-theme="light"])[data-scene-accent="orchid"], :root:not([data-theme="light"]) [data-scene-accent="orchid"] { --mc-accent: #fe77dc; --mc-accent-fg: #141418; --mc-accent-l: 0.76; }
}
@supports (color: oklch(0 0 0)) { @media (color-gamut: p3) {
  :is(:root, *)[data-scene-accent="ember"] { --mc-accent: oklch(0.5300 0.1935 38); }
  :root[data-theme="dark"][data-scene-accent="ember"], :root[data-theme="dark"] [data-scene-accent="ember"] { --mc-accent: oklch(0.7600 0.1860 38); }
  :is(:root, *)[data-scene-accent="saffron"] { --mc-accent: oklch(0.5300 0.1280 72); }
  :root[data-theme="dark"][data-scene-accent="saffron"], :root[data-theme="dark"] [data-scene-accent="saffron"] { --mc-accent: oklch(0.7600 0.1855 72); }
  :is(:root, *)[data-scene-accent="moss"] { --mc-accent: oklch(0.5200 0.1840 148); }
  :root[data-theme="dark"][data-scene-accent="moss"], :root[data-theme="dark"] [data-scene-accent="moss"] { --mc-accent: oklch(0.7600 0.1840 148); }
  :is(:root, *)[data-scene-accent="tide"] { --mc-accent: oklch(0.5250 0.1195 200); }
  :root[data-theme="dark"][data-scene-accent="tide"], :root[data-theme="dark"] [data-scene-accent="tide"] { --mc-accent: oklch(0.7600 0.1495 200); }
  :is(:root, *)[data-scene-accent="cobalt"] { --mc-accent: oklch(0.5300 0.2300 258); }
  :root[data-theme="dark"][data-scene-accent="cobalt"], :root[data-theme="dark"] [data-scene-accent="cobalt"] { --mc-accent: oklch(0.7600 0.1325 258); }
  :is(:root, *)[data-scene-accent="orchid"] { --mc-accent: oklch(0.5300 0.2415 338); }
  :root[data-theme="dark"][data-scene-accent="orchid"], :root[data-theme="dark"] [data-scene-accent="orchid"] { --mc-accent: oklch(0.7600 0.2415 338); }
  @media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"])[data-scene-accent="ember"], :root:not([data-theme="light"]) [data-scene-accent="ember"] { --mc-accent: oklch(0.7600 0.1860 38); }
    :root:not([data-theme="light"])[data-scene-accent="saffron"], :root:not([data-theme="light"]) [data-scene-accent="saffron"] { --mc-accent: oklch(0.7600 0.1855 72); }
    :root:not([data-theme="light"])[data-scene-accent="moss"], :root:not([data-theme="light"]) [data-scene-accent="moss"] { --mc-accent: oklch(0.7600 0.1840 148); }
    :root:not([data-theme="light"])[data-scene-accent="tide"], :root:not([data-theme="light"]) [data-scene-accent="tide"] { --mc-accent: oklch(0.7600 0.1495 200); }
    :root:not([data-theme="light"])[data-scene-accent="cobalt"], :root:not([data-theme="light"]) [data-scene-accent="cobalt"] { --mc-accent: oklch(0.7600 0.1325 258); }
    :root:not([data-theme="light"])[data-scene-accent="orchid"], :root:not([data-theme="light"]) [data-scene-accent="orchid"] { --mc-accent: oklch(0.7600 0.2415 338); }
  }
} }
/* forced colours: scene accents hand over to the system highlight pair, so nothing the user chose is overridden */
@media (forced-colors: active) {
  :is(:root, *)[data-scene-accent="ember"], :root[data-theme="dark"][data-scene-accent="ember"], :root[data-theme="dark"] [data-scene-accent="ember"], :root:not([data-theme="light"])[data-scene-accent="ember"], :root:not([data-theme="light"]) [data-scene-accent="ember"], :is(:root, *)[data-scene-accent="saffron"], :root[data-theme="dark"][data-scene-accent="saffron"], :root[data-theme="dark"] [data-scene-accent="saffron"], :root:not([data-theme="light"])[data-scene-accent="saffron"], :root:not([data-theme="light"]) [data-scene-accent="saffron"], :is(:root, *)[data-scene-accent="moss"], :root[data-theme="dark"][data-scene-accent="moss"], :root[data-theme="dark"] [data-scene-accent="moss"], :root:not([data-theme="light"])[data-scene-accent="moss"], :root:not([data-theme="light"]) [data-scene-accent="moss"], :is(:root, *)[data-scene-accent="tide"], :root[data-theme="dark"][data-scene-accent="tide"], :root[data-theme="dark"] [data-scene-accent="tide"], :root:not([data-theme="light"])[data-scene-accent="tide"], :root:not([data-theme="light"]) [data-scene-accent="tide"], :is(:root, *)[data-scene-accent="cobalt"], :root[data-theme="dark"][data-scene-accent="cobalt"], :root[data-theme="dark"] [data-scene-accent="cobalt"], :root:not([data-theme="light"])[data-scene-accent="cobalt"], :root:not([data-theme="light"]) [data-scene-accent="cobalt"], :is(:root, *)[data-scene-accent="orchid"], :root[data-theme="dark"][data-scene-accent="orchid"], :root[data-theme="dark"] [data-scene-accent="orchid"], :root:not([data-theme="light"])[data-scene-accent="orchid"], :root:not([data-theme="light"]) [data-scene-accent="orchid"] { --mc-accent: Highlight; --mc-accent-fg: HighlightText; }
}
/* W1 type defaults (BAR-premium §7): balanced headings, no widows in body copy. :where() = zero specificity, so any entry or site rule wins */
:where(h1, h2, h3, h4, h5, h6, legend, caption) { text-wrap: balance; }
:where(p, li, dd, blockquote, figcaption) { text-wrap: pretty; }
