.ax-status-lamp {
--ax-status-lamp-color: var(--ax-text-muted);
display: inline-flex;
align-items: center;
gap: 0.55rem;
width: fit-content;
min-height: 2.15rem;
padding: 0.4rem 0.62rem;
border: 1px solid color-mix(in srgb, var(--ax-status-lamp-color) 34%, var(--ax-border));
border-radius: 999px;
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.045), transparent),
color-mix(in srgb, var(--ax-surface) 76%, transparent);
color: var(--ax-text);
box-shadow:
inset 0 1px 0 rgba(255, 255, 255, 0.04),
0 0 0 1px color-mix(in srgb, var(--ax-status-lamp-color) 10%, transparent);
}
.ax-status-lamp[data-tone='online'] {
--ax-status-lamp-color: var(--ax-success);
}
.ax-status-lamp[data-tone='warning'] {
--ax-status-lamp-color: var(--ax-warning);
}
.ax-status-lamp[data-tone='danger'] {
--ax-status-lamp-color: var(--ax-danger);
}
.ax-status-lamp[data-tone='idle'] {
--ax-status-lamp-color: var(--ax-cyan);
}
.ax-status-lamp__light {
position: relative;
flex: none;
width: 0.72rem;
height: 0.72rem;
border: 1px solid color-mix(in srgb, var(--ax-status-lamp-color) 64%, black);
border-radius: 999px;
background:
radial-gradient(circle at 35% 28%, rgba(255, 255, 255, 0.95), transparent 18%),
radial-gradient(circle at center, var(--ax-status-lamp-color), color-mix(in srgb, var(--ax-status-lamp-color) 54%, black));
box-shadow:
0 0 14px color-mix(in srgb, var(--ax-status-lamp-color) 48%, transparent),
inset 0 -1px 3px rgba(0, 0, 0, 0.44);
}
.ax-status-lamp[data-tone='neutral'] .ax-status-lamp__light {
opacity: 0.58;
}
.ax-status-lamp[data-pulse='true'] .ax-status-lamp__light::after {
content: '';
position: absolute;
inset: -0.36rem;
border: 1px solid var(--ax-status-lamp-color);
border-radius: inherit;
opacity: 0;
animation: ax-status-lamp-pulse 1.7s ease-out infinite;
}
.ax-status-lamp__body {
display: grid;
gap: 0.04rem;
min-width: 0;
}
.ax-status-lamp__label {
font-size: 0.78rem;
font-weight: 850;
letter-spacing: -0.01em;
line-height: 1.15;
}
.ax-status-lamp__description {
color: var(--ax-text-muted);
font-size: 0.68rem;
font-weight: 650;
line-height: 1.2;
}
@keyframes ax-status-lamp-pulse {
0% {
transform: scale(0.74);
opacity: 0.55;
}
100% {
transform: scale(1.45);
opacity: 0;
}
}