/* Connectivity Status */
.top-right-status {
    position: fixed;
    top: 8px;
    right: 8px;
    z-index: 9999;
}

.connection-indicator {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    transition: background-color 0.3s ease;
    
    position: relative;
    background-color: #9e9e9e; /* fallback */
    box-shadow:
        inset 0 1px 2px rgba(255, 255, 255, 0.4),   /* soft top highlight */
        inset 0 -1px 3px rgba(0, 0, 0, 0.25),       /* soft bottom shadow */
        0 0 4px rgba(0, 0, 0, 0.2);                 /* subtle outer depth */
    overflow: hidden;
}

/* Gloss layer */
.connection-indicator::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0.45) 0%,
        rgba(255, 255, 255, 0.15) 40%,
        rgba(255, 255, 255, 0.0) 60%
    );
    pointer-events: none;
}

.connection-indicator.connected {
    background-color: #2bd431;
}

.connection-indicator.reconnecting {
    background-color: #dfce38;
}

.connection-indicator.disconnected {
    background-color: #fa2b1c;
}

.connection-indicator.unknown {
    background-color: #9e9e9e;
}
/* End of: Connectivity Status */

