modal.css 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. @keyframes fadeIn {
  2. from {
  3. opacity: 0;
  4. }
  5. to {
  6. opacity: 1;
  7. }
  8. }
  9. @keyframes slideUp {
  10. from {
  11. opacity: 0;
  12. transform: translateY(20px);
  13. }
  14. to {
  15. opacity: 1;
  16. transform: translateY(0);
  17. }
  18. }
  19. [data-component="modal"][data-slot="overlay"] {
  20. position: fixed;
  21. top: 0;
  22. left: 0;
  23. right: 0;
  24. bottom: 0;
  25. z-index: 9999;
  26. display: flex;
  27. align-items: center;
  28. justify-content: center;
  29. background-color: rgba(0, 0, 0, 0.5);
  30. animation: fadeIn 0.2s ease;
  31. @media (prefers-color-scheme: dark) {
  32. background-color: rgba(0, 0, 0, 0.7);
  33. }
  34. [data-slot="content"] {
  35. background-color: var(--color-bg);
  36. border: 1px solid var(--color-border);
  37. border-radius: var(--border-radius-md);
  38. padding: var(--space-6);
  39. min-width: 400px;
  40. max-width: 90vw;
  41. box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
  42. animation: slideUp 0.2s ease;
  43. @media (max-width: 30rem) {
  44. min-width: 300px;
  45. padding: var(--space-4);
  46. }
  47. @media (prefers-color-scheme: dark) {
  48. box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
  49. }
  50. }
  51. [data-slot="title"] {
  52. margin: 0 0 var(--space-4) 0;
  53. font-size: var(--font-size-lg);
  54. font-weight: 600;
  55. color: var(--color-text);
  56. }
  57. }