html,
body {
padding: 0;
margin: 0;
width: 100%;
height: 100%;
overflow: hidden;
background: #000;
font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
-webkit-font-smoothing: antialiased;
}
body {
position: relative;
}
#p3xre-redis-ui-electron {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
border: none;
}
#p3xre-redis-ui-electron.p3xre-webview-loading {
visibility: hidden;
}
/* -- Loading overlay --------------------------------------------------- */
#p3xre-loading-overlay {
position: absolute;
inset: 0;
display: flex;
align-items: center;
justify-content: center;
z-index: 50;
background: #000;
color: #fff;
pointer-events: none;
}
.p3xre-spinner {
width: 128px;
height: 128px;
border-radius: 50%;
border: 10px solid rgba(255, 255, 255, 0.25);
border-top-color: #ffffff;
animation: p3xre-spin 0.9s linear infinite;
}
@keyframes p3xre-spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
#p3xre-loading-overlay.p3xre-hidden {
display: none;
}
/* -- Toast ------------------------------------------------------------- */
#p3xre-toast-container {
position: fixed;
bottom: 8px;
right: 8px;
z-index: 9999;
display: flex;
flex-direction: column-reverse;
gap: 8px;
pointer-events: none;
}
.p3xre-toast {
background: #000;
color: #fff;
padding: 8px 16px;
border-radius: 4px;
font-size: 13px;
font-family: "Roboto", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
cursor: pointer;
pointer-events: auto;
opacity: 0;
transform: translateY(16px);
animation: p3xre-toast-in 0.25s forwards;
max-width: 400px;
word-break: break-word;
}
.p3xre-toast.p3xre-toast-out {
animation: p3xre-toast-out 0.2s forwards;
}
@keyframes p3xre-toast-in {
to { opacity: 1; transform: translateY(0); }
}
@keyframes p3xre-toast-out {
to { opacity: 0; transform: translateY(16px); }
}
/* -- Dark mode scrollbar ------------------------------------------------- */
body.p3xr-theme-dark * {
scrollbar-color: rgba(255, 255, 255, 0.3) transparent;
}
body.p3xr-theme-dark *::-webkit-scrollbar {
width: 8px;
height: 8px;
}
body.p3xr-theme-dark *::-webkit-scrollbar-track {
background: transparent;
}
body.p3xr-theme-dark *::-webkit-scrollbar-thumb {
background: rgba(255, 255, 255, 0.3);
border-radius: 4px;
}
body.p3xr-theme-dark *::-webkit-scrollbar-thumb:hover {
background: rgba(255, 255, 255, 0.5);
}