at main 105 lines 2.1 kB view raw
1/* Dialog Backdrop */ 2.dialog-backdrop { 3 position: fixed; 4 z-index: 1000; 5 background: rgb(0 0 0 / 30%); 6 inset: 0; 7 opacity: 0; 8 will-change: transform, opacity; 9} 10 11.dialog-backdrop[data-state="closed"] { 12 animation: dialog-backdrop-animate-out 150ms ease-in forwards; 13 pointer-events: none; 14} 15 16@keyframes dialog-backdrop-animate-out { 17 0% { 18 opacity: 1; 19 transform: scale(1) translateY(0); 20 } 21 22 100% { 23 opacity: 0; 24 transform: scale(0.95) translateY(-2px); 25 } 26} 27 28.dialog-backdrop[data-state="open"] { 29 animation: dialog-content-animate-in 150ms ease-out forwards; 30} 31 32@keyframes dialog-content-animate-in { 33 0% { 34 opacity: 0; 35 transform: scale(0.95) translateY(-2px); 36 } 37 38 100% { 39 opacity: 1; 40 transform: scale(1) translateY(0); 41 } 42} 43 44/* Dialog Container - improved for theme consistency */ 45.dialog { 46 position: fixed; 47 z-index: 1001; 48 top: 50%; 49 left: 50%; 50 display: flex; 51 width: 100%; 52 max-width: calc(100% - 2rem); 53 box-sizing: border-box; 54 flex-direction: column; 55 padding: 32px 24px 24px; 56 border: 1px solid var(--color-border); 57 border-radius: 8px; 58 margin: 0; 59 background: var(--color-overlay); 60 box-shadow: 0 2px 10px rgb(0 0 0 / 18%); 61 color: var(--color-text); 62 font-family: var(--font-heading); 63 gap: 16px; 64 text-align: center; 65 transform: translate(-50%, -50%); 66} 67 68.dialog-title { 69 margin: 0; 70 color: var(--color-primary); 71 font-size: 1.25rem; 72 font-weight: 700; 73} 74 75.dialog-description { 76 margin: 0; 77 color: var(--color-text); 78 font-size: 1rem; 79} 80 81@media (width >= 40rem) { 82 .dialog { 83 max-width: 56rem; 84 text-align: left; 85 } 86} 87 88.dialog-close { 89 position: absolute; 90 top: 1rem; 91 right: 1rem; 92 align-self: flex-start; 93 padding: 0; 94 border: none; 95 margin: 0; 96 background: none; 97 color: var(--color-highlight); 98 cursor: pointer; 99 font-size: 18px; 100 line-height: 1; 101} 102 103.dialog-close:hover { 104 color: var(--color-primary); 105}