/* Plasma One springs as CSS linear() easings. Use the paired duration. */
:root {
  --p1-spring-smooth: linear(0.0020, 0.0369, 0.1031, 0.1886, 0.2841, 0.3825, 0.4788, 0.5695, 0.6677, 0.7393, 0.8013, 0.8537, 0.8972, 0.9324, 0.9602, 0.9816, 1.0002, 1.0108, 1.0179, 1.0221, 1.0241, 1.0245, 1.0238, 1.0222, 1.0197, 1.0173, 1.0149, 1.0125, 1.0103, 1.0083, 1.0066, 1.0050, 1.0035, 1.0024, 1.0016, 1.0009, 1.0004, 1.0000, 0.9998, 0.9996, 1.0000);
  --p1-spring-smooth-duration: 343ms;
  --p1-spring-snappy: linear(0.0044, 0.0399, 0.1004, 0.2047, 0.2918, 0.4102, 0.4961, 0.6024, 0.6741, 0.7577, 0.8112, 0.8570, 0.9068, 0.9366, 0.9674, 0.9848, 1.0016, 1.0103, 1.0177, 1.0208, 1.0226, 1.0225, 1.0217, 1.0198, 1.0179, 1.0153, 1.0133, 1.0107, 1.0089, 1.0068, 1.0054, 1.0042, 1.0029, 1.0021, 1.0012, 1.0007, 1.0002, 1.0000, 0.9997, 0.9996, 1.0000);
  --p1-spring-snappy-duration: 232ms;
  --p1-spring-stiff: linear(0.0079, 0.0430, 0.1301, 0.2021, 0.3193, 0.4376, 0.5132, 0.6178, 0.6804, 0.7628, 0.8310, 0.8690, 0.9156, 0.9404, 0.9695, 0.9903, 1.0004, 1.0109, 1.0155, 1.0194, 1.0207, 1.0206, 1.0194, 1.0182, 1.0159, 1.0134, 1.0118, 1.0095, 1.0080, 1.0061, 1.0045, 1.0036, 1.0024, 1.0018, 1.0010, 1.0005, 1.0002, 0.9999, 0.9998, 0.9996, 1.0000);
  --p1-spring-stiff-duration: 175ms;
  --p1-spring-soft: linear(0.0007, 0.0518, 0.1531, 0.2661, 0.3743, 0.4714, 0.5558, 0.6277, 0.6886, 0.7398, 0.7827, 0.8160, 0.8464, 0.8718, 0.8930, 0.9107, 0.9255, 0.9378, 0.9481, 0.9567, 0.9639, 0.9694, 0.9745, 0.9787, 0.9822, 0.9852, 0.9876, 0.9897, 0.9914, 0.9928, 0.9940, 0.9949, 0.9958, 0.9965, 0.9971, 0.9975, 0.9979, 0.9983, 0.9986, 0.9988, 1.0000);
  --p1-spring-soft-duration: 862ms;
  --p1-spring-instant: linear(0.0278, 0.1793, 0.3313, 0.4363, 0.5407, 0.6258, 0.6845, 0.7429, 0.7833, 0.8234, 0.8561, 0.8787, 0.9012, 0.9167, 0.9321, 0.9447, 0.9534, 0.9620, 0.9680, 0.9739, 0.9787, 0.9821, 0.9854, 0.9877, 0.9900, 0.9918, 0.9931, 0.9944, 0.9953, 0.9961, 0.9969, 0.9974, 0.9978, 0.9982, 0.9985, 0.9988, 0.9990, 0.9992, 0.9993, 0.9994, 1.0000);
  --p1-spring-instant-duration: 375ms;
  --p1-spring-ticker: linear(0.0044, 0.0554, 0.1386, 0.2354, 0.3341, 0.4507, 0.5346, 0.6088, 0.6732, 0.7409, 0.7858, 0.8235, 0.8550, 0.8811, 0.9075, 0.9245, 0.9384, 0.9498, 0.9612, 0.9685, 0.9744, 0.9792, 0.9831, 0.9870, 0.9895, 0.9915, 0.9931, 0.9947, 0.9957, 0.9965, 0.9972, 0.9977, 0.9982, 0.9986, 0.9988, 0.9991, 0.9993, 0.9994, 0.9995, 0.9996, 1.0000);
  --p1-spring-ticker-duration: 283ms;
  --p1-spring-redact: linear(0.0014, 0.0346, 0.1001, 0.1856, 0.2816, 0.3808, 0.4781, 0.5698, 0.6536, 0.7280, 0.7926, 0.8475, 0.8930, 0.9300, 0.9593, 0.9818, 0.9986, 1.0105, 1.0186, 1.0235, 1.0259, 1.0266, 1.0258, 1.0242, 1.0220, 1.0195, 1.0169, 1.0143, 1.0118, 1.0095, 1.0075, 1.0058, 1.0043, 1.0030, 1.0020, 1.0012, 1.0006, 1.0001, 0.9998, 0.9995, 1.0000);
  --p1-spring-redact-duration: 403ms;
  --p1-spring-carousel: linear(0.0009, 0.0277, 0.0816, 0.1521, 0.2431, 0.3257, 0.4069, 0.4949, 0.5660, 0.6305, 0.6960, 0.7461, 0.7897, 0.8323, 0.8636, 0.8901, 0.9151, 0.9331, 0.9478, 0.9614, 0.9708, 0.9783, 0.9850, 0.9895, 0.9930, 0.9959, 0.9978, 0.9992, 1.0003, 1.0009, 1.0013, 1.0015, 1.0016, 1.0016, 1.0015, 1.0014, 1.0013, 1.0012, 1.0010, 1.0009, 1.0000);
  --p1-spring-carousel-duration: 490ms;
  --p1-spring-strip: linear(0.0006, 0.0222, 0.0737, 0.1428, 0.2120, 0.2931, 0.3736, 0.4506, 0.5148, 0.5812, 0.6410, 0.6887, 0.7363, 0.7778, 0.8138, 0.8414, 0.8683, 0.8911, 0.9103, 0.9248, 0.9386, 0.9500, 0.9585, 0.9665, 0.9731, 0.9785, 0.9824, 0.9861, 0.9890, 0.9914, 0.9931, 0.9946, 0.9959, 0.9967, 0.9975, 0.9981, 0.9986, 0.9990, 0.9993, 0.9995, 1.0000);
  --p1-spring-strip-duration: 583ms;
  --p1-spring-pager: linear(0.0006, 0.0222, 0.0673, 0.1273, 0.1961, 0.2689, 0.3423, 0.4138, 0.4819, 0.5455, 0.6039, 0.6571, 0.7048, 0.7473, 0.7848, 0.8177, 0.8463, 0.8711, 0.8924, 0.9107, 0.9262, 0.9393, 0.9504, 0.9597, 0.9674, 0.9739, 0.9792, 0.9835, 0.9871, 0.9900, 0.9923, 0.9942, 0.9957, 0.9969, 0.9978, 0.9985, 0.9990, 0.9995, 0.9998, 1.0000, 1.0000);
  --p1-spring-pager-duration: 535ms;
  --p1-ease-viewTransition: cubic-bezier(0.23, 1, 0.32, 1);
  --p1-ease-expoOut: cubic-bezier(0.16, 1, 0.3, 1);
  --p1-ease-quintOut: cubic-bezier(0.22, 1, 0.36, 1);
  --p1-ease-shake: cubic-bezier(0.35, 0.7, 0.5, 0.7);
  --p1-ease-cubicOut: cubic-bezier(0.215, 0.61, 0.355, 1);
  --p1-ease-cubicIn: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --p1-ease-cubicInOut: cubic-bezier(0.645, 0.045, 0.355, 1);
  --p1-dur-enter: 100ms;
  --p1-dur-exit: 60ms;
  --p1-dur-mount: 250ms;
  --p1-dur-fadeSwapExit: 120ms;
  --p1-dur-viewTransition: 450ms;
  --p1-dur-glassExpand: 280ms;
  --p1-dur-sheetIn: 260ms;
  --p1-dur-sheetOut: 200ms;
  --p1-dur-toastDismiss: 200ms;
  --p1-dur-themeFade: 180ms;
  --p1-dur-reducedMotion: 180ms;
  --p1-dur-spinner: 800ms;
  --p1-dur-caret: 500ms;
  --p1-dur-shine: 1500ms;
  --p1-dur-numberReveal: 660ms;
}

/* Primitives */
.p1-press { transition: transform var(--p1-spring-smooth-duration) var(--p1-spring-smooth); }
.p1-press:active { transform: scale(0.964); }
@keyframes p1-mount { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: scale(1); } }
.p1-mount { animation: p1-mount 250ms var(--p1-ease-cubicOut) both; }
@keyframes p1-shake { 0%,100% { transform: translateX(0) } 25% { transform: translateX(10px) } 75% { transform: translateX(-10px) } }
.p1-shake { animation: p1-shake 160ms var(--p1-ease-shake) 3; }
@keyframes p1-live { to { opacity: 0.1; transform: scale(0.8); } }
.p1-live-dot { animation: p1-live 800ms ease-in-out infinite alternate; }
@keyframes p1-spin { to { transform: rotate(360deg); } }
.p1-spinner { animation: p1-spin 800ms linear infinite; }
@media (prefers-reduced-motion: reduce) { .p1-press, .p1-mount, .p1-shake { transition-duration: 1ms; animation-duration: 180ms; } }
