site.css 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. /* Custom styles for LotteryV2 */
  2. body.millions-bg {
  3. background: white !important;
  4. /* Changed from dark gradient to brand red */
  5. color: #fff;
  6. min-height: 100vh;
  7. margin: 0;
  8. padding: 0;
  9. }
  10. .millions-container {
  11. padding-top: 50px;
  12. text-align: center;
  13. }
  14. .millions-card {
  15. background: rgba(255, 255, 255, 0.1);
  16. backdrop-filter: blur(10px);
  17. border: 1px solid rgba(255, 255, 255, 0.2);
  18. border-radius: 16px;
  19. padding: 30px;
  20. margin: 20px auto;
  21. max-width: 400px;
  22. box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
  23. }
  24. .millions-btn-back {
  25. margin-top: 20px;
  26. background: #FF2E93;
  27. border: none;
  28. border-radius: 20px;
  29. padding: 10px 20px;
  30. font-weight: bold;
  31. color: white;
  32. }
  33. /* Figma Layout Styles for Home */
  34. body {
  35. background-color: white !important;
  36. /* Full red support from figma nodes fills */
  37. font-family: 'Montserrat', sans-serif;
  38. }
  39. .main-container {
  40. width: 100% !important;
  41. max-width: 100% !important;
  42. /* Mặc định tràn viền cho di động */
  43. margin: 0 auto;
  44. background-color: #0062FF;
  45. min-height: 100vh;
  46. padding-bottom: 30px;
  47. overflow-x: hidden;
  48. }
  49. @media (min-width: 600px) {
  50. .main-container {
  51. max-width: 414px !important;
  52. }
  53. }
  54. .glass-header {
  55. background: transparent;
  56. }
  57. .card-red {
  58. background: linear-gradient(135deg, #3385FF 0%, #004ecb 100%);
  59. border: 1px solid rgba(255, 255, 255, 0.2);
  60. }
  61. .card-blue {
  62. background: linear-gradient(135deg, #1A92F4 0%, #0C5BAA 100%);
  63. border: 1px solid rgba(255, 255, 255, 0.2);
  64. }
  65. .card-orange {
  66. background: linear-gradient(135deg, #F86E22 0%, #B8470B 100%);
  67. border: 1px solid rgba(255, 255, 255, 0.2);
  68. }
  69. /* Hide Scrollbar for fully immersive mobile wrapper view */
  70. html,
  71. body,
  72. .main-container {
  73. -ms-overflow-style: none;
  74. /* IE and Edge */
  75. scrollbar-width: none;
  76. /* Firefox */
  77. }
  78. html::-webkit-scrollbar,
  79. body::-webkit-scrollbar,
  80. .main-container::-webkit-scrollbar {
  81. display: none;
  82. /* Chrome, Safari & Opera */
  83. }
  84. .card-shadow {
  85. box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  86. }
  87. @keyframes btn-pulse {
  88. 0%,
  89. 100% {
  90. transform: scale(1);
  91. }
  92. 50% {
  93. transform: scale(1.05);
  94. }
  95. }
  96. .btn-pulse {
  97. animation: btn-pulse 1s ease-in-out infinite;
  98. }
  99. @keyframes tick-scroll {
  100. 0%,
  101. 40% {
  102. transform: translateY(0);
  103. }
  104. 50%,
  105. 90% {
  106. transform: translateY(-24px);
  107. }
  108. 100% {
  109. transform: translateY(-48px);
  110. }
  111. }
  112. .animate-tick-scroll {
  113. animation: tick-scroll 4s cubic-bezier(0.77, 0, 0.175, 1) infinite;
  114. }
  115. @keyframes slide-up {
  116. 0% {
  117. transform: translateY(100%);
  118. opacity: 0;
  119. }
  120. 15% {
  121. transform: translateY(0);
  122. opacity: 1;
  123. }
  124. 85% {
  125. transform: translateY(0);
  126. opacity: 1;
  127. }
  128. 100% {
  129. transform: translateY(-100%);
  130. opacity: 0;
  131. }
  132. }
  133. .animate-slide-up {
  134. animation: slide-up 2s ease-in-out infinite;
  135. }
  136. /* Global Loading Overlay */
  137. #loading-overlay {
  138. position: fixed;
  139. top: 0;
  140. left: 0;
  141. width: 100%;
  142. height: 100%;
  143. background: rgba(0, 0, 0, 0.3);
  144. backdrop-filter: blur(2px);
  145. display: none;
  146. align-items: center;
  147. justify-content: center;
  148. z-index: 9999;
  149. transition: opacity 0.3s ease;
  150. }
  151. .loading-spinner {
  152. width: 48px;
  153. height: 48px;
  154. border: 5px solid rgba(255, 255, 255, 0.2);
  155. border-radius: 50%;
  156. border-top-color: #fff;
  157. animation: spin 0.8s linear infinite;
  158. box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
  159. }
  160. @keyframes spin {
  161. to {
  162. transform: rotate(360deg);
  163. }
  164. }
  165. /* Hide Spinners for input number */
  166. input::-webkit-outer-spin-button,
  167. input::-webkit-inner-spin-button {
  168. -webkit-appearance: none;
  169. margin: 0;
  170. }
  171. input[type=number] {
  172. appearance: textfield;
  173. -moz-appearance: textfield;
  174. }