:root {
    --critical-bg: #ffffff;
    --critical-text: #1f2937;
    --skeleton-base: #eceff3;
    --skeleton-shine: #f7f8fa;
}

html, body {
    margin: 0;
    padding: 0;
    background: var(--critical-bg);
    color: var(--critical-text);
}

body {
    min-height: 100vh;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}

.aiz-main-wrapper {
    min-height: 100vh;
    background: #fff;
}

.aiz-skeleton-block {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    background: var(--skeleton-base);
}

.aiz-skeleton-block::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, var(--skeleton-shine), transparent);
    animation: aiz-skeleton-shimmer 1.2s infinite;
}

.aiz-skeleton-dot {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--skeleton-base);
    vertical-align: middle;
    animation: aiz-skeleton-pulse 1s ease-in-out infinite;
}

@keyframes aiz-skeleton-shimmer {
    100% {
        transform: translateX(100%);
    }
}

@keyframes aiz-skeleton-pulse {
    0%, 100% {
        opacity: 0.55;
    }
    50% {
        opacity: 1;
    }
}
