/* Custom Scrollbar */ ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.02); border-radius: 3px; } ::-webkit-scrollbar-thumb { background: linear-gradient(45deg, #8a4baf, #c17edb); border-radius: 3px; } ::-webkit-scrollbar-thumb:hover { background: linear-gradient(45deg, #9b5cc0, #d28fee); } /* Base styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { margin: 0; padding: 0; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif; background-color: #0a0a0f; color: #ffffff; line-height: 1.5; min-height: 100vh; } /* Container styles with glass effect */ .container { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1.5rem; background: radial-gradient(circle at top right, rgba(138, 75, 175, 0.1), transparent 60%), radial-gradient(circle at bottom left, rgba(193, 126, 219, 0.1), transparent 60%), linear-gradient(180deg, rgba(10,10,15,1) 0%, rgba(17,17,25,1) 100%); position: relative; z-index: 1; } .container::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M54.627 0l.83.828-1.415 1.415L51.8 0h2.827zM5.373 0l-.83.828L5.96 2.243 8.2 0H5.374zM48.97 0l3.657 3.657-1.414 1.414L46.143 0h2.828zM11.03 0L7.372 3.657 8.787 5.07 13.857 0H11.03zm32.284 0L49.8 6.485 48.384 7.9l-7.9-7.9h2.83zM16.686 0L10.2 6.485 11.616 7.9l7.9-7.9h-2.83zM22.343 0L13.857 8.485 15.272 9.9l9.9-9.9h-2.83zM32 0l-3.486 3.485-1.414-1.414L30.587 0H32zM0 0c2.336 4.582 3.628 10.176 3.628 16.343 0 3.168-.296 6.036-.736 8.485.989-.632 2.245-1.202 3.627-1.202 1.381 0 2.637.57 3.627 1.202-.44-2.449-.737-5.317-.737-8.485C9.409 10.176 10.701 4.582 13.037 0H0zm21.354 0l-8.485 8.485 1.415 1.414 7.07-7.07 7.071 7.071 1.414-1.415L21.354 0zM3.628 0l8.485 8.485-1.414 1.414L3.628 2.828 0 6.456V3.628L3.628 0zM28.627 0L25 3.628v2.828l6.456-6.456L28.627 0zM0 9.686l5.071 5.071L0 19.828v-2.828l3.628-3.628L0 9.686zm5.071-3.629L0 6.057V3.23L3.628 6.86 5.07 6.057zm21.354 3.629l-5.07 5.071 6.456 6.456v-2.828L24.182 15l2.243-2.243v-2.828zm3.628-3.629l-2.828 2.829L23.9 6.057l1.414-1.414L27.942 6.27zm-10.727 10.728l-5.071 5.071 6.457 6.457v-2.829l-3.628-3.628 2.242-2.242v-2.829zm17.941-4.271l-1.414 1.414 2.242 2.243L34.3 15l2.828 2.828v-2.828l3.629-3.628zm3.629 3.629l-3.629 3.628v2.828l5.071-5.07L44.51 15l-2.828-2.828zm-3.629 10.728l-5.07 5.071 6.456 6.456v-2.828L39.37 30.03l2.243-2.243v-2.828zm-14.313-.001l-2.829 2.83-1.414-1.415 1.414-1.414-4.243-4.242-1.414 1.414-2.828-2.829 2.828-2.828 2.828 2.828 1.415-1.414 4.242 4.242-1.414 1.415 2.828 2.828-1.413 1.415zm21.354-10.727l-4.243 4.242 1.414 1.415 2.829-2.829 2.828 2.829v-2.829l-1.414-1.414zm0 10.727l-4.243 4.242 1.414 1.415 2.829-2.829 2.828 2.829v-2.829l-1.414-1.414zm-7.071 7.072l-4.243 4.242 1.414 1.415 2.829-2.829 2.828 2.829v-2.829l-1.414-1.414zm7.071 0l-4.243 4.242 1.414 1.415 2.829-2.829 2.828 2.829v-2.829l-1.414-1.414zm-7.071 7.071l-4.243 4.242 1.414 1.415 2.829-2.829 2.828 2.829v-2.829l-1.414-1.414zm-7.072 0l-4.242 4.242 1.414 1.415 2.828-2.829 2.829 2.829v-2.829l-1.415-1.414z' fill='%238a4baf' fill-opacity='0.03' fill-rule='evenodd'/%3E%3C/svg%3E"); z-index: -1; pointer-events: none; } .container_item { background: rgba(20, 20, 30, 0.7); border: 1px solid rgba(138, 75, 175, 0.2); border-radius: 12px; padding: 1.5rem; max-width: 500px; width: 100%; backdrop-filter: blur(10px); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3), inset 0 0 0 1px rgba(255, 255, 255, 0.1); position: relative; overflow: hidden; } .container_item::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(138, 75, 175, 0.3), transparent ); } /* Typography with enhanced gradients */ h1 { font-size: 1.75rem; font-weight: 700; margin-bottom: 1.25rem; text-align: center; letter-spacing: -0.5px; background: linear-gradient(45deg, #8a4baf, #c17edb, #8a4baf); background-size: 200% 200%; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; animation: gradientMove 5s ease infinite; } /* Data rows with improved styling */ p { margin: 0.5rem 0; color: rgba(255, 255, 255, 0.9); font-size: 0.9rem; display: flex; justify-content: center; /* Changed from space-between to center */ align-items: center; padding: 0.75rem; background: rgba(255, 255, 255, 0.03); border-radius: 8px; border: 1px solid rgba(138, 75, 175, 0.1); position: relative; overflow: hidden; text-align: center; } /* Center align the last paragraph (success message) */ p:last-child { display: block; text-align: center; background: rgba(138, 75, 175, 0.1); border-color: rgba(138, 75, 175, 0.2); font-weight: 500; color: #c17edb; padding: 1rem; margin-top: 1rem; } p:last-child::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, transparent, rgba(138, 75, 175, 0.1), transparent); animation: shine 2s infinite; } p:not(:last-child) { margin-bottom: 0.75rem; } /* Rest of the CSS remains the same... */ /* Enhanced error message */ .error { color: #ff4d6a; display: block; text-align: center; margin-top: 0.75rem; padding: 1rem; background: rgba(255, 77, 106, 0.1); border-radius: 8px; border: 1px solid rgba(255, 77, 106, 0.2); font-size: 0.9rem; position: relative; overflow: hidden; } .error::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(45deg, transparent, rgba(255, 77, 106, 0.1), transparent); transform: translateX(-100%); animation: errorGlow 3s infinite; } /* Status indicators with glow effect */ .status { display: inline-block; padding: 0.25rem 0.75rem; border-radius: 6px; font-size: 0.875rem; font-weight: 500; position: relative; text-align: center; } .status-success { background: rgba(52, 211, 153, 0.1); color: #34d399; border: 1px solid rgba(52, 211, 153, 0.2); box-shadow: 0 0 15px rgba(52, 211, 153, 0.1); } .status-error { background: rgba(255, 77, 106, 0.1); color: #ff4d6a; border: 1px solid rgba(255, 77, 106, 0.2); box-shadow: 0 0 15px rgba(255, 77, 106, 0.1); } /* Value highlights with modern styling */ p strong, p code { color: #8a4baf; font-weight: 500; background: rgba(138, 75, 175, 0.1); padding: 0.3rem 0.6rem; border-radius: 4px; margin-left: 0.5rem; border: 1px solid rgba(138, 75, 175, 0.2); position: relative; overflow: hidden; text-align: center; } /* Enhanced animations */ @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } @keyframes gradientMove { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } @keyframes errorGlow { 0% { transform: translateX(-100%); } 50% { transform: translateX(100%); } 100% { transform: translateX(-100%); } } @keyframes shine { 0% { transform: translateX(-100%) skewX(-15deg); } 50% { transform: translateX(100%) skewX(-15deg); } 100% { transform: translateX(-100%) skewX(-15deg); } } .container_item { animation: fadeIn 0.3s ease-out; } /* Hover effects with smoother transitions */ p { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } p:hover { background: rgba(255, 255, 255, 0.05); border-color: rgba(138, 75, 175, 0.3); transform: translateX(2px); } /* Don't transform the last paragraph (success message) on hover */ p:last-child:hover { transform: none; background: rgba(138, 75, 175, 0.15); } p:hover strong, p:hover code { border-color: rgba(138, 75, 175, 0.4); background: rgba(138, 75, 175, 0.15); } .container_item { transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .container_item:hover { border-color: rgba(138, 75, 175, 0.4); transform: translateY(-2px); box-shadow: 0 6px 25px rgba(0, 0, 0, 0.4), inset 0 0 0 1px rgba(255, 255, 255, 0.15); } /* Responsive design improvements */ @media (max-width: 640px) { .container { padding: 1rem; } .container_item { padding: 1.25rem; margin: 0.5rem; border-radius: 10px; } h1 { font-size: 1.5rem; } p { font-size: 0.85rem; padding: 0.6rem; text-align: center; } p strong, p code { padding: 0.2rem 0.4rem; text-align: center; } /* Adjust success message padding on mobile */ p:last-child { padding: 0.8rem; font-size: 0.9rem; } } /* Loading state animation */ .loading { position: relative; overflow: hidden; } .loading::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(138, 75, 175, 0.1), transparent ); animation: loadingShimmer 1.5s infinite; } @keyframes loadingShimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } } /* Custom selection color */ ::selection { background: rgba(138, 75, 175, 0.3); color: #fff; } /* Data label styling */ .label { color: rgba(255, 255, 255, 0.6); font-size: 0.85rem; font-weight: 400; text-align: center; } /* Value styling */ .value { color: #fff; font-weight: 500; text-align: center; } /* Enhanced focus states */ *:focus { outline: none; box-shadow: 0 0 0 2px rgba(138, 75, 175, 0.5); } /* Grid layout for details when needed */ .details-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.75rem; margin: 1rem 0; text-align: center; } /* Separator styling */ .separator { height: 1px; background: linear-gradient(90deg, transparent, rgba(138, 75, 175, 0.2), transparent ); margin: 1rem 0; } /* Button styling if needed */ .button { background: linear-gradient(45deg, #8a4baf, #c17edb); border: none; border-radius: 6px; padding: 0.5rem 1rem; color: white; font-weight: 500; cursor: pointer; transition: all 0.3s ease; text-align: center; display: block; margin: 0 auto; } .button:hover { transform: translateY(-1px); box-shadow: 0 4px 15px rgba(138, 75, 175, 0.3); } .button:active { transform: translateY(0); } /* Success icon animation */ @keyframes checkmark { 0% { transform: scale(0); opacity: 0; } 50% { transform: scale(1.2); } 100% { transform: scale(1); opacity: 1; } } .success-icon { display: inline-block; width: 20px; height: 20px; margin-right: 8px; animation: checkmark 0.5s ease-in-out; } /* Error icon animation */ @keyframes errorShake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-5px); } 75% { transform: translateX(5px); } } .error-icon { display: inline-block; width: 20px; height: 20px; margin-right: 8px; animation: errorShake 0.5s ease-in-out; } /* Progress bar animation */ @keyframes progress { from { width: 0; } to { width: 100%; } } .progress-bar { position: absolute; bottom: 0; left: 0; height: 2px; background: linear-gradient(90deg, #8a4baf, #c17edb); animation: progress 2s linear infinite; } /* Tooltip styling */ [data-tooltip] { position: relative; text-align: center; } [data-tooltip]:before { content: attr(data-tooltip); position: absolute; bottom: 100%; left: 50%; transform: translateX(-50%); padding: 0.5rem; background: rgba(20, 20, 30, 0.95); border: 1px solid rgba(138, 75, 175, 0.2); border-radius: 4px; font-size: 0.8rem; white-space: nowrap; opacity: 0; visibility: hidden; transition: all 0.2s ease; text-align: center; } [data-tooltip]:hover:before { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(-5px); }